home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / develop™ Technical Journal / develop Issue 4 code / C++ Driver.sea / C++ Driver / iacDriver / DriverGlue.a next >
MacBinary  |  1990-08-27  |  15.6 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
20% dexvert VertiZontal Interlacing (image/vzi) fileSize Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert System V 64-bit library (executable/systemV64BitLibrary) ext Unsupported
1% dexvert COFF Library (other/coffLibrary) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Aug 27 17:17:31 1990, modified Mon Aug 27 17:17:31 1990, creator 'MPS ', type ASCII, 15367 bytes "DriverGlue.a" , at 0x3c87 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 44 72 69 76 65 72 | 47 6c 75 65 2e 61 00 00 |..Driver|Glue.a..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 3c 07 00 | 00 01 7e a2 ff 3e 6b a2 |.....<..|..~..>k.|
|00000060| ff 3e 6b 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.>k.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 18 4f 00 00 |........|.....O..|
|00000080| 09 09 09 09 49 4d 50 4f | 52 54 20 09 09 54 53 44 |....IMPO|RT ..TSD|
|00000090| 52 56 52 50 72 69 6d 65 | 09 09 09 0d 09 09 09 09 |RVRPrime|........|
|000000a0| 49 4d 50 4f 52 54 20 09 | 09 54 53 44 52 56 52 4f |IMPORT .|.TSDRVRO|
|000000b0| 70 65 6e 0d 09 09 09 09 | 49 4d 50 4f 52 54 20 09 |pen.....|IMPORT .|
|000000c0| 09 54 53 44 52 56 52 43 | 6f 6e 74 72 6f 6c 09 09 |.TSDRVRC|ontrol..|
|000000d0| 09 0d 09 09 09 09 49 4d | 50 4f 52 54 20 09 09 54 |......IM|PORT ..T|
|000000e0| 53 44 52 56 52 53 74 61 | 74 75 73 09 09 09 0d 09 |SDRVRSta|tus.....|
|000000f0| 09 09 09 49 4d 50 4f 52 | 54 20 09 09 54 53 44 52 |...IMPOR|T ..TSDR|
|00000100| 56 52 43 6c 6f 73 65 09 | 0d 0d 2a 20 46 72 6f 6d |VRClose.|..* From|
|00000110| 20 53 79 73 45 71 75 2e | 61 20 77 65 20 67 65 74 | SysEqu.|a we get|
|00000120| 20 6a 49 4f 44 6f 6e 65 | 20 64 65 66 69 6e 65 64 | jIODone| defined|
|00000130| 2e 0d 2a 20 46 72 6f 6d | 20 54 72 61 70 73 2e 61 |..* From| Traps.a|
|00000140| 20 77 65 20 67 65 74 20 | 5f 44 65 62 75 67 67 65 | we get |_Debugge|
|00000150| 72 20 64 65 66 69 6e 65 | 64 2e 0d 2a 20 46 72 6f |r define|d..* Fro|
|00000160| 6d 20 44 72 69 76 65 72 | 47 6c 75 65 2e 69 6e 63 |m Driver|Glue.inc|
|00000170| 6c 2e 61 20 77 65 20 67 | 65 74 20 74 68 65 20 44 |l.a we g|et the D|
|00000180| 62 67 49 6e 66 6f 20 6d | 61 63 72 6f 20 64 65 66 |bgInfo m|acro def|
|00000190| 69 6e 65 64 2e 20 20 49 | 74 20 77 61 73 20 6a 75 |ined. I|t was ju|
|000001a0| 73 74 20 74 61 6b 65 6e | 20 66 72 6f 6d 0d 2a 20 |st taken| from.* |
|000001b0| 53 61 6d 70 6c 65 2e 61 | 20 61 6e 64 20 61 6c 6c |Sample.a| and all|
|000001c0| 20 74 68 65 20 6f 74 68 | 65 72 20 6d 61 63 72 6f | the oth|er macro|
|000001d0| 73 20 77 65 72 65 20 64 | 65 6c 65 74 65 64 2e 0d |s were d|eleted..|
|000001e0| 09 09 09 09 50 52 49 4e | 54 09 50 55 53 48 2c 4f |....PRIN|T.PUSH,O|
|000001f0| 46 46 09 09 09 09 09 09 | 09 09 09 3b 20 64 6f 6e |FF......|...; don|
|00000200| 27 74 20 70 72 69 6e 74 | 20 61 6e 79 20 6f 66 20 |'t print| any of |
|00000210| 74 68 69 73 20 73 74 75 | 66 66 09 09 0d 09 09 09 |this stu|ff......|
|00000220| 09 49 4e 43 4c 55 44 45 | 09 27 53 79 73 45 71 75 |.INCLUDE|.'SysEqu|
|00000230| 2e 61 27 0d 09 09 09 09 | 49 4e 43 4c 55 44 45 09 |.a'.....|INCLUDE.|
|00000240| 27 54 72 61 70 73 2e 61 | 27 09 0d 09 09 09 09 49 |'Traps.a|'......I|
|00000250| 4e 43 4c 55 44 45 09 27 | 44 72 69 76 65 72 47 6c |NCLUDE.'|DriverGl|
|00000260| 75 65 2e 69 6e 63 6c 2e | 61 27 09 09 09 09 3b 20 |ue.incl.|a'....; |
|00000270| 61 6c 6c 20 6f 75 72 20 | 6d 61 63 72 6f 73 20 61 |all our |macros a|
|00000280| 6e 64 20 64 61 74 61 20 | 74 65 6d 70 6c 61 74 65 |nd data |template|
|00000290| 73 0d 09 09 09 09 50 52 | 49 4e 54 09 50 4f 50 09 |s.....PR|INT.POP.|
|000002a0| 09 09 09 09 09 09 09 09 | 09 3b 20 72 65 73 74 6f |........|.; resto|
|000002b0| 72 65 20 74 68 65 20 50 | 52 49 4e 54 20 6f 70 74 |re the P|RINT opt|
|000002c0| 69 6f 6e 73 0d 0d 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ions..**|********|
|000002d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 20 4d 61 69 6e 20 2a |********|* Main *|
|000002f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 2a 20 57 65 |********|***.* We|
|00000320| 20 68 61 76 65 20 74 6f | 20 6d 61 6b 65 20 74 68 | have to| make th|
|00000330| 69 73 20 74 68 65 20 66 | 69 72 73 74 20 65 6e 74 |is the f|irst ent|
|00000340| 72 79 20 70 6f 69 6e 74 | 20 69 6e 20 6f 75 72 20 |ry point| in our |
|00000350| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 62 65 63 61 |applicat|ion beca|
|00000360| 75 73 65 20 74 68 65 20 | 44 52 56 52 20 20 20 09 |use the |DRVR .|
|00000370| 2a 0d 2a 20 68 65 61 64 | 65 72 20 69 6e 66 6f 72 |*.* head|er infor|
|00000380| 6d 61 74 69 6f 6e 20 6d | 75 73 74 20 63 6f 6d 65 |mation m|ust come|
|00000390| 20 66 69 72 73 74 2e 20 | 20 53 6f 2c 20 77 65 20 | first. | So, we |
|000003a0| 6a 75 73 74 20 70 75 74 | 20 6f 75 72 20 64 61 74 |just put| our dat|
|000003b0| 61 20 64 65 66 69 6e 65 | 73 20 69 6e 73 69 64 65 |a define|s inside|
|000003c0| 20 74 68 65 20 09 2a 0d | 2a 20 22 4d 41 49 4e 22 | the .*.|* "MAIN"|
|000003d0| 20 70 72 6f 63 65 64 75 | 72 65 20 61 6e 64 20 74 | procedu|re and t|
|000003e0| 68 65 6e 20 64 65 63 6c | 61 72 65 20 74 68 61 74 |hen decl|are that|
|000003f0| 20 61 73 20 6f 75 72 20 | 65 6e 74 72 79 20 70 6f | as our |entry po|
|00000400| 69 6e 74 20 66 6f 72 20 | 4d 72 2e 20 4c 69 6e 6b |int for |Mr. Link|
|00000410| 65 72 2e 09 09 09 2a 0d | 2a 20 54 68 65 20 62 69 |er....*.|* The bi|
|00000420| 74 73 20 69 6e 20 74 68 | 65 20 48 49 47 48 20 62 |ts in th|e HIGH b|
|00000430| 79 74 65 20 28 62 65 77 | 61 72 65 20 6f 66 20 74 |yte (bew|are of t|
|00000440| 68 69 73 20 2d 2d 20 69 | 74 20 62 69 74 20 6d 65 |his -- i|t bit me|
|00000450| 20 74 68 65 20 66 69 72 | 73 74 20 67 6f 2d 61 72 | the fir|st go-ar|
|00000460| 6f 75 6e 64 20 62 65 63 | 61 75 73 65 2a 0d 2a 20 |ound bec|ause*.* |
|00000470| 49 20 66 6f 72 67 6f 74 | 20 74 6f 20 70 75 74 20 |I forgot| to put |
|00000480| 74 68 65 6d 20 69 6e 20 | 74 68 65 20 48 49 47 48 |them in |the HIGH|
|00000490| 20 62 79 74 65 29 2c 20 | 61 72 65 20 64 65 66 69 | byte), |are defi|
|000004a0| 6e 65 64 20 66 6f 72 20 | 74 68 69 73 20 44 52 56 |ned for |this DRV|
|000004b0| 52 20 61 73 20 66 6f 6c | 6c 6f 77 73 3a 20 20 20 |R as fol|lows: |
|000004c0| 20 20 2a 0d 2a 20 42 69 | 74 20 37 20 28 6d 6f 73 | *.* Bi|t 7 (mos|
|000004d0| 74 20 73 69 67 6e 69 66 | 69 63 61 6e 74 20 62 69 |t signif|icant bi|
|000004e0| 74 29 09 09 55 6e 64 65 | 66 69 6e 65 64 09 09 46 |t)..Unde|fined..F|
|000004f0| 61 6c 73 65 20 28 30 29 | 09 09 09 09 09 09 09 09 |alse (0)|........|
|00000500| 2a 0d 2a 20 42 69 74 20 | 36 20 09 09 09 09 09 09 |*.* Bit |6 ......|
|00000510| 09 09 09 09 64 4e 65 65 | 64 4c 6f 63 6b 09 09 54 |....dNee|dLock..T|
|00000520| 72 75 65 20 28 31 29 09 | 09 09 09 09 09 09 09 09 |rue (1).|........|
|00000530| 2a 0d 2a 20 42 69 74 20 | 35 20 09 09 09 09 09 09 |*.* Bit |5 ......|
|00000540| 09 09 09 09 64 4e 65 65 | 64 54 69 6d 65 09 09 46 |....dNee|dTime..F|
|00000550| 61 6c 73 65 20 28 30 29 | 09 09 09 09 09 09 09 09 |alse (0)|........|
|00000560| 2a 0d 2a 20 42 69 74 20 | 34 20 09 09 09 09 09 09 |*.* Bit |4 ......|
|00000570| 09 09 09 09 64 4e 65 65 | 64 47 6f 6f 64 42 79 65 |....dNee|dGoodBye|
|00000580| 09 54 72 75 65 20 28 31 | 29 09 09 09 09 09 09 09 |.True (1|).......|
|00000590| 09 09 2a 0d 2a 20 42 69 | 74 20 33 20 09 09 09 09 |..*.* Bi|t 3 ....|
|000005a0| 09 09 09 09 09 09 64 53 | 74 61 74 45 6e 61 62 6c |......dS|tatEnabl|
|000005b0| 65 09 09 54 72 75 65 20 | 28 31 29 09 09 09 09 09 |e..True |(1).....|
|000005c0| 09 09 09 09 2a 0d 2a 20 | 42 69 74 20 32 20 09 09 |....*.* |Bit 2 ..|
|000005d0| 09 09 09 09 09 09 09 09 | 64 43 74 6c 45 6e 61 62 |........|dCtlEnab|
|000005e0| 6c 65 09 09 54 72 75 65 | 20 28 31 29 09 09 09 09 |le..True| (1)....|
|000005f0| 09 09 09 09 09 2a 0d 2a | 20 42 69 74 20 31 20 09 |.....*.*| Bit 1 .|
|00000600| 09 09 09 09 09 09 09 09 | 09 64 57 72 69 74 45 6e |........|.dWritEn|
|00000610| 61 62 6c 65 09 09 54 72 | 75 65 20 28 31 29 09 09 |able..Tr|ue (1)..|
|00000620| 09 09 09 09 09 09 09 2a | 0d 2a 20 42 69 74 20 30 |.......*|.* Bit 0|
|00000630| 20 28 6c 65 61 73 74 20 | 73 69 67 6e 69 66 69 63 | (least |signific|
|00000640| 61 6e 74 20 62 69 74 29 | 20 09 09 64 52 65 61 64 |ant bit)| ..dRead|
|00000650| 45 6e 61 62 6c 65 09 09 | 54 72 75 65 20 28 31 29 |Enable..|True (1)|
|00000660| 09 09 09 09 09 09 09 09 | 09 2a 0d 2a 20 57 68 69 |........|.*.* Whi|
|00000670| 63 68 20 61 6c 6c 20 61 | 64 64 73 20 75 70 20 74 |ch all a|dds up t|
|00000680| 6f 3a 20 24 35 46 2e 0d | 2a 20 49 20 63 68 6f 73 |o: $5F..|* I chos|
|00000690| 65 20 4e 4f 54 20 74 6f | 20 67 65 74 20 70 65 72 |e NOT to| get per|
|000006a0| 69 6f 64 69 63 20 74 69 | 6d 65 20 62 65 63 61 75 |iodic ti|me becau|
|000006b0| 73 65 20 49 20 72 65 61 | 6c 6c 79 20 68 61 64 20 |se I rea|lly had |
|000006c0| 6e 6f 74 68 69 6e 67 20 | 74 6f 20 64 6f 20 65 76 |nothing |to do ev|
|000006d0| 65 72 79 20 66 69 76 65 | 20 09 2a 0d 2a 20 73 65 |ery five| .*.* se|
|000006e0| 63 6f 6e 64 73 2c 20 62 | 75 74 20 49 20 64 69 64 |conds, b|ut I did|
|000006f0| 20 63 68 6f 6f 73 65 20 | 74 68 65 20 67 6f 6f 64 | choose |the good|
|00000700| 2d 62 79 65 20 6b 69 73 | 73 20 62 65 63 61 75 73 |-bye kis|s becaus|
|00000710| 65 20 49 20 77 61 6e 74 | 65 64 20 74 6f 20 62 65 |e I want|ed to be|
|00000720| 20 6e 6f 74 69 66 69 65 | 64 20 77 68 65 6e 20 09 | notifie|d when .|
|00000730| 2a 0d 2a 20 49 20 77 61 | 73 20 67 6f 69 6e 67 20 |*.* I wa|s going |
|00000740| 61 77 61 79 2e 20 20 49 | 20 64 6f 6e 27 74 20 64 |away. I| don't d|
|00000750| 6f 20 61 6e 79 74 68 69 | 6e 67 20 77 69 74 68 20 |o anythi|ng with |
|00000760| 69 74 20 6e 6f 77 2c 20 | 62 75 74 20 69 74 20 73 |it now, |but it s|
|00000770| 65 72 76 65 73 20 61 73 | 20 61 6e 20 65 78 61 6d |erves as| an exam|
|00000780| 70 6c 65 09 2a 0d 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ple.*.**|********|
|00000790| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000007a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000007b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000007c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000007d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 0d 48 45 41 |********|***..HEA|
|000007e0| 44 45 52 44 45 46 09 50 | 52 4f 43 09 09 09 45 58 |DERDEF.P|ROC...EX|
|000007f0| 50 4f 52 54 09 09 09 09 | 09 09 09 09 09 09 09 09 |PORT....|........|
|00000800| 0d 09 09 09 09 49 4d 50 | 4f 52 54 20 09 09 54 53 |.....IMP|ORT ..TS|
|00000810| 45 50 72 69 6d 65 09 09 | 09 0d 09 09 09 09 49 4d |EPrime..|......IM|
|00000820| 50 4f 52 54 20 09 09 54 | 53 45 4f 70 65 6e 0d 09 |PORT ..T|SEOpen..|
|00000830| 09 09 09 49 4d 50 4f 52 | 54 20 09 09 54 53 45 43 |...IMPOR|T ..TSEC|
|00000840| 6f 6e 74 72 6f 6c 09 09 | 09 0d 09 09 09 09 49 4d |ontrol..|......IM|
|00000850| 50 4f 52 54 20 09 09 54 | 53 45 53 74 61 74 75 73 |PORT ..T|SEStatus|
|00000860| 09 09 09 0d 09 09 09 09 | 49 4d 50 4f 52 54 20 09 |........|IMPORT .|
|00000870| 09 54 53 45 43 6c 6f 73 | 65 09 0d 54 53 45 53 74 |.TSEClos|e..TSESt|
|00000880| 61 72 74 48 64 72 09 44 | 43 2e 57 09 09 09 24 35 |artHdr.D|C.W...$5|
|00000890| 46 30 30 09 09 09 09 09 | 09 09 09 3b 20 54 75 72 |F00.....|...; Tur|
|000008a0| 6e 20 74 68 65 20 70 72 | 6f 70 65 72 20 62 69 74 |n the pr|oper bit|
|000008b0| 73 20 6f 6e 0d 09 09 09 | 09 09 09 09 09 09 09 09 |s on....|........|
|000008c0| 09 09 09 09 09 09 3b 20 | 64 4e 65 65 64 4c 6f 63 |......; |dNeedLoc|
|000008d0| 6b 3c 36 3e 2c 20 64 4e | 65 65 64 47 6f 6f 64 62 |k<6>, dN|eedGoodb|
|000008e0| 79 65 3c 34 29 0d 09 09 | 09 09 09 09 09 09 09 09 |ye<4)...|........|
|000008f0| 09 09 09 09 09 09 09 3b | 20 64 52 65 61 64 45 6e |.......;| dReadEn|
|00000900| 61 62 6c 65 3c 33 3e 2c | 20 64 57 72 69 74 45 6e |able<3>,| dWritEn|
|00000910| 61 62 6c 65 3c 32 3e 0d | 09 09 09 09 09 09 09 09 |able<2>.|........|
|00000920| 09 09 09 09 09 09 09 09 | 09 3b 20 64 43 74 6c 45 |........|.; dCtlE|
|00000930| 6e 61 62 6c 65 3c 31 3e | 2c 20 64 53 74 61 74 45 |nable<1>|, dStatE|
|00000940| 6e 61 62 6c 65 3c 30 3e | 0d 09 09 09 09 44 43 2e |nable<0>|.....DC.|
|00000950| 57 09 09 09 24 31 32 43 | 09 09 09 09 09 09 09 09 |W...$12C|........|
|00000960| 3b 20 35 20 73 65 63 6f | 6e 64 73 20 6f 66 20 64 |; 5 seco|nds of d|
|00000970| 65 6c 61 79 20 28 69 66 | 20 64 4e 65 65 64 54 69 |elay (if| dNeedTi|
|00000980| 6d 65 20 3d 20 54 72 75 | 65 29 0d 09 09 09 09 44 |me = Tru|e).....D|
|00000990| 43 2e 57 09 09 09 30 09 | 09 09 09 09 09 09 09 09 |C.W...0.|........|
|000009a0| 3b 20 44 52 56 52 45 4d | 61 73 6b 20 28 66 6f 72 |; DRVREM|ask (for|
|000009b0| 20 44 41 73 20 6f 6e 6c | 79 29 0d 09 09 09 09 44 | DAs onl|y).....D|
|000009c0| 43 2e 57 09 09 09 30 09 | 09 09 09 09 09 09 09 09 |C.W...0.|........|
|000009d0| 3b 20 44 52 56 52 4d 65 | 6e 75 20 28 66 6f 72 20 |; DRVRMe|nu (for |
|000009e0| 44 41 73 20 6f 6e 6c 79 | 29 0d 09 09 09 09 44 43 |DAs only|).....DC|
|000009f0| 2e 57 09 09 09 54 53 45 | 4f 70 65 6e 2d 54 53 45 |.W...TSE|Open-TSE|
|00000a00| 53 74 61 72 74 48 64 72 | 09 09 09 3b 20 4f 66 66 |StartHdr|...; Off|
|00000a10| 73 65 74 20 74 6f 20 6f | 70 65 6e 20 72 6f 75 74 |set to o|pen rout|
|00000a20| 69 6e 65 0d 09 09 09 09 | 44 43 2e 57 09 09 09 54 |ine.....|DC.W...T|
|00000a30| 53 45 50 72 69 6d 65 2d | 54 53 45 53 74 61 72 74 |SEPrime-|TSEStart|
|00000a40| 48 64 72 09 09 09 3b 20 | 4f 66 66 73 65 74 20 74 |Hdr...; |Offset t|
|00000a50| 6f 20 70 72 69 6d 65 20 | 72 6f 75 74 69 6e 65 0d |o prime |routine.|
|00000a60| 09 09 09 09 44 43 2e 57 | 09 09 09 54 53 45 43 6f |....DC.W|...TSECo|
|00000a70| 6e 74 72 6f 6c 2d 54 53 | 45 53 74 61 72 74 48 64 |ntrol-TS|EStartHd|
|00000a80| 72 09 09 3b 20 4f 66 66 | 73 65 74 20 74 6f 20 63 |r..; Off|set to c|
|00000a90| 6f 6e 74 72 6f 6c 20 72 | 6f 75 74 69 6e 65 0d 09 |ontrol r|outine..|
|00000aa0| 09 09 09 44 43 2e 57 09 | 09 09 54 53 45 53 74 61 |...DC.W.|..TSESta|
|00000ab0| 74 75 73 2d 54 53 45 53 | 74 61 72 74 48 64 72 09 |tus-TSES|tartHdr.|
|00000ac0| 09 3b 20 4f 66 66 73 65 | 74 20 74 6f 20 53 74 61 |.; Offse|t to Sta|
|00000ad0| 74 75 73 20 72 6f 75 74 | 69 6e 65 2e 0d 09 09 09 |tus rout|ine.....|
|00000ae0| 09 44 43 2e 57 09 09 09 | 54 53 45 43 6c 6f 73 65 |.DC.W...|TSEClose|
|00000af0| 2d 54 53 45 53 74 61 72 | 74 48 64 72 09 09 09 3b |-TSEStar|tHdr...;|
|00000b00| 20 4f 66 66 73 65 74 20 | 74 6f 20 43 6c 6f 73 65 | Offset |to Close|
|00000b10| 20 72 6f 75 74 69 6e 65 | 2e 0d 09 09 09 09 44 43 | routine|......DC|
|00000b20| 2e 42 09 09 09 27 2e 54 | 69 6d 44 72 69 76 65 72 |.B...'.T|imDriver|
|00000b30| 27 09 09 09 09 09 3b 20 | 44 72 69 76 65 72 20 6e |'.....; |Driver n|
|00000b40| 61 6d 65 2e 0d 09 09 09 | 09 41 4c 49 47 4e 09 09 |ame.....|.ALIGN..|
|00000b50| 09 34 09 09 09 09 09 09 | 09 09 09 3b 20 41 6c 69 |.4......|...; Ali|
|00000b60| 67 6e 20 74 6f 20 6e 65 | 78 74 20 6c 6f 6e 67 20 |gn to ne|xt long |
|00000b70| 77 6f 72 64 2e 0d 09 09 | 09 09 45 4e 44 50 0d 09 |word....|..ENDP..|
|00000b80| 09 09 09 09 0d 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.....***|********|
|00000b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ba0| 2a 2a 2a 2a 2a 2a 2a 2a | 20 54 53 45 4f 70 65 6e |********| TSEOpen|
|00000bb0| 20 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *******|********|
|00000bc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000bd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 2a 20 54 68 |********|***.* Th|
|00000be0| 69 73 20 72 6f 75 74 69 | 6e 65 20 28 61 6e 64 20 |is routi|ne (and |
|00000bf0| 61 6c 6c 20 6c 69 6b 65 | 20 69 74 20 62 65 6c 6f |all like| it belo|
|00000c00| 77 29 20 70 65 72 66 6f | 72 6d 73 20 74 68 72 65 |w) perfo|rms thre|
|00000c10| 65 20 62 61 73 69 63 20 | 66 75 6e 63 74 69 6f 6e |e basic |function|
|00000c20| 73 3a 20 09 09 09 09 09 | 2a 0d 2a 20 31 29 20 70 |s: .....|*.* 1) p|
|00000c30| 75 73 68 69 6e 67 20 74 | 68 65 20 70 61 72 61 6d |ushing t|he param|
|00000c40| 65 74 65 72 20 62 6c 6f | 63 6b 20 28 41 30 29 2c |eter blo|ck (A0),|
|00000c50| 20 61 6e 64 20 74 68 65 | 20 70 6f 69 6e 74 65 72 | and the| pointer|
|00000c60| 20 74 6f 20 74 68 65 20 | 44 43 45 20 28 41 31 29 | to the |DCE (A1)|
|00000c70| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 2e 2a 0d | on the |stack.*.|
|00000c80| 2a 20 32 29 20 54 65 73 | 74 69 6e 67 20 74 6f 20 |* 2) Tes|ting to |
|00000c90| 73 65 65 20 77 68 65 74 | 68 65 72 20 74 68 65 20 |see whet|her the |
|00000ca0| 69 6d 6d 65 64 69 61 74 | 65 20 62 69 74 20 77 61 |immediat|e bit wa|
|00000cb0| 73 20 73 65 74 20 69 6e | 20 74 68 65 20 74 72 61 |s set in| the tra|
|00000cc0| 70 20 77 6f 72 64 20 61 | 6e 64 20 52 54 53 69 6e |p word a|nd RTSin|
|00000cd0| 67 09 2a 0d 2a 20 33 29 | 20 54 65 73 74 69 6e 67 |g.*.* 3)| Testing|
|00000ce0| 20 74 68 65 20 72 65 73 | 75 6c 74 20 69 6e 20 44 | the res|ult in D|
|00000cf0| 30 2e 20 20 49 66 20 69 | 74 27 73 20 31 20 74 68 |0. If i|t's 1 th|
|00000d00| 65 20 6f 70 65 72 61 74 | 69 6f 6e 20 68 61 73 6e |e operat|ion hasn|
|00000d10| 27 74 20 63 6f 6d 70 6c | 65 74 65 64 20 79 65 74 |'t compl|eted yet|
|00000d20| 2c 20 73 6f 20 77 65 09 | 2a 0d 2a 20 20 20 20 6a |, so we.|*.* j|
|00000d30| 75 73 74 20 77 61 6e 74 | 20 74 6f 20 52 54 53 2e |ust want| to RTS.|
|00000d40| 20 20 49 66 20 69 74 27 | 73 20 4e 4f 54 20 31 2c | If it'|s NOT 1,|
|00000d50| 20 74 68 65 6e 20 77 65 | 27 6c 6c 20 6a 75 6d 70 | then we|'ll jump|
|00000d60| 20 74 68 72 6f 75 67 68 | 20 6a 49 4f 44 6f 6e 65 | through| jIODone|
|00000d70| 2e 09 09 09 09 09 2a 0d | 2a 20 49 20 70 75 74 20 |......*.|* I put |
|00000d80| 74 68 65 20 73 74 61 6e | 64 61 72 64 20 70 72 6f |the stan|dard pro|
|00000d90| 63 65 64 75 72 65 20 68 | 65 61 64 65 72 20 69 6e |cedure h|eader in|
|00000da0| 20 6a 75 73 74 20 73 6f | 20 79 6f 75 27 64 20 73 | just so| you'd s|
|00000db0| 65 65 20 61 6e 6f 74 68 | 65 72 20 65 78 61 6d 70 |ee anoth|er examp|
|00000dc0| 6c 65 20 6f 66 20 69 74 | 20 69 6e 09 2a 0d 2a 20 |le of it| in.*.* |
|00000dd0| 75 73 65 2e 20 20 49 20 | 66 6f 75 6e 64 20 53 61 |use. I |found Sa|
|00000de0| 6d 70 6c 65 2e 61 20 74 | 6f 20 62 65 20 6d 6f 73 |mple.a t|o be mos|
|00000df0| 74 20 68 65 6c 70 66 75 | 6c 20 69 6e 20 6d 75 63 |t helpfu|l in muc|
|00000e00| 68 20 6f 66 20 77 68 61 | 74 20 49 20 64 69 64 20 |h of wha|t I did |
|00000e10| 68 65 72 65 2e 09 09 09 | 09 09 2a 0d 2a 2a 2a 2a |here....|..*.****|
|00000e20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e70| 2a 0d 54 53 45 4f 70 65 | 6e 09 09 50 52 4f 43 09 |*.TSEOpe|n..PROC.|
|00000e80| 09 09 45 58 50 4f 52 54 | 09 09 09 09 09 09 09 3b |..EXPORT|.......;|
|00000e90| 20 61 6e 79 20 73 6f 75 | 72 63 65 20 66 69 6c 65 | any sou|rce file|
|00000ea0| 20 63 61 6e 20 75 73 65 | 20 74 68 69 73 20 72 6f | can use| this ro|
|00000eb0| 75 74 69 6e 65 0d 0d 53 | 74 61 63 6b 46 72 61 6d |utine..S|tackFram|
|00000ec0| 65 09 52 45 43 4f 52 44 | 09 09 7b 41 36 4c 69 6e |e.RECORD|..{A6Lin|
|00000ed0| 6b 7d 2c 44 45 43 52 09 | 09 09 09 09 3b 20 62 75 |k},DECR.|....; bu|
|00000ee0| 69 6c 64 20 61 20 73 74 | 61 63 6b 20 66 72 61 6d |ild a st|ack fram|
|00000ef0| 65 20 72 65 63 6f 72 64 | 0d 52 65 73 75 6c 74 31 |e record|.Result1|
|00000f00| 09 09 44 53 2e 57 09 09 | 09 31 09 09 09 09 09 09 |..DS.W..|.1......|
|00000f10| 09 09 09 3b 20 66 75 6e | 63 74 69 6f 6e 27 73 20 |...; fun|ction's |
|00000f20| 72 65 73 75 6c 74 20 72 | 65 74 75 72 6e 65 64 20 |result r|eturned |
|00000f30| 74 6f 20 63 61 6c 6c 65 | 72 0d 50 61 72 61 6d 42 |to calle|r.ParamB|
|00000f40| 65 67 69 6e 09 45 51 55 | 09 09 09 2a 09 09 09 09 |egin.EQU|...*....|
|00000f50| 09 09 09 09 09 3b 20 73 | 74 61 72 74 20 70 61 72 |.....; s|tart par|
|00000f60| 61 6d 65 74 65 72 73 20 | 61 66 74 65 72 20 74 68 |ameters |after th|
|00000f70| 69 73 20 70 6f 69 6e 74 | 0d 50 61 72 61 6d 53 69 |is point|.ParamSi|
|00000f80| 7a 65 09 45 51 55 09 09 | 09 50 61 72 61 6d 42 65 |ze.EQU..|.ParamBe|
|00000f90| 67 69 6e 2d 2a 09 09 09 | 09 09 3b 20 73 69 7a 65 |gin-*...|..; size|
|00000fa0| 20 6f 66 20 61 6c 6c 20 | 74 68 65 20 70 61 73 73 | of all |the pass|
|00000fb0| 65 64 20 70 61 72 61 6d | 65 74 65 72 73 0d 52 65 |ed param|eters.Re|
|00000fc0| 74 41 64 64 72 20 09 09 | 44 53 2e 4c 09 09 09 31 |tAddr ..|DS.L...1|
|00000fd0| 09 09 09 09 09 09 09 09 | 09 3b 20 70 6c 61 63 65 |........|.; place|
|00000fe0| 20 68 6f 6c 64 65 72 20 | 66 6f 72 20 72 65 74 75 | holder |for retu|
|00000ff0| 72 6e 20 61 64 64 72 65 | 73 73 0d 41 36 4c 69 6e |rn addre|ss.A6Lin|
|00001000| 6b 09 09 44 53 2e 4c 09 | 09 09 31 09 09 09 09 09 |k..DS.L.|..1.....|
|00001010| 09 09 09 09 3b 20 70 6c | 61 63 65 20 68 6f 6c 64 |....; pl|ace hold|
|00001020| 65 72 20 66 6f 72 20 41 | 36 20 6c 69 6e 6b 0d 4c |er for A|6 link.L|
|00001030| 6f 63 61 6c 53 69 7a 65 | 09 45 51 55 20 09 09 09 |ocalSize|.EQU ...|
|00001040| 2a 09 09 09 09 09 09 09 | 09 09 3b 20 73 69 7a 65 |*.......|..; size|
|00001050| 20 6f 66 20 61 6c 6c 20 | 74 68 65 20 6c 6f 63 61 | of all |the loca|
|00001060| 6c 20 76 61 72 69 61 62 | 6c 65 73 0d 09 09 09 09 |l variab|les.....|
|00001070| 45 4e 44 52 0d 0d 09 09 | 09 09 57 49 54 48 09 09 |ENDR....|..WITH..|
|00001080| 09 53 74 61 63 6b 46 72 | 61 6d 65 09 09 09 09 09 |.StackFr|ame.....|
|00001090| 09 3b 20 63 6f 76 65 72 | 20 6f 75 72 20 6c 6f 63 |.; cover| our loc|
|000010a0| 61 6c 20 73 74 61 63 6b | 20 66 72 61 6d 65 0d 09 |al stack| frame..|
|000010b0| 09 09 09 4c 49 4e 4b 09 | 09 09 41 36 2c 23 4c 6f |...LINK.|..A6,#Lo|
|000010c0| 63 61 6c 53 69 7a 65 09 | 09 09 09 09 3b 20 61 6c |calSize.|....; al|
|000010d0| 6c 6f 63 61 74 65 20 6f | 75 72 20 6c 6f 63 61 6c |locate o|ur local|
|000010e0| 20 73 74 61 63 6b 20 66 | 72 61 6d 65 0d 09 09 09 | stack f|rame....|
|000010f0| 09 0d 09 09 09 09 0d 09 | 09 20 09 09 4d 4f 56 45 |........|. ..MOVE|
|00001100| 4d 2e 4c 20 09 09 44 31 | 2d 44 33 2f 41 30 2d 41 |M.L ..D1|-D3/A0-A|
|00001110| 34 2c 2d 28 41 37 29 20 | 20 20 09 09 09 3b 53 61 |4,-(A7) | ...;Sa|
|00001120| 76 65 20 72 65 67 69 73 | 74 65 72 73 20 28 56 31 |ve regis|ters (V1|
|00001130| 2e 31 41 29 0d 09 09 09 | 09 4d 4f 56 45 2e 4c 09 |.1A)....|.MOVE.L.|
|00001140| 09 41 31 2c 2d 28 41 37 | 29 09 09 09 09 09 09 09 |.A1,-(A7|).......|
|00001150| 3b 50 75 74 20 61 64 64 | 72 65 73 73 20 6f 66 20 |;Put add|ress of |
|00001160| 44 43 45 20 6f 6e 74 6f | 20 73 74 61 63 6b 0d 09 |DCE onto| stack..|
|00001170| 09 09 09 4d 4f 56 45 2e | 4c 09 09 41 30 2c 2d 28 |...MOVE.|L..A0,-(|
|00001180| 41 37 29 09 09 09 09 09 | 09 09 3b 50 75 74 20 61 |A7).....|..;Put a|
|00001190| 64 64 72 65 73 73 20 6f | 66 20 50 61 72 61 6d 42 |ddress o|f ParamB|
|000011a0| 6c 6f 63 6b 20 6f 6e 74 | 6f 20 73 74 61 63 6b 0d |lock ont|o stack.|
|000011b0| 09 09 09 09 4a 53 52 20 | 09 09 09 54 53 44 52 56 |....JSR |...TSDRV|
|000011c0| 52 4f 70 65 6e 09 09 09 | 09 09 09 3b 43 61 6c 6c |ROpen...|...;Call|
|000011d0| 20 6f 75 72 20 72 6f 75 | 74 69 6e 65 2e 0d 09 09 | our rou|tine....|
|000011e0| 09 09 41 44 44 51 2e 57 | 09 09 23 24 38 2c 41 37 |..ADDQ.W|..#$8,A7|
|000011f0| 09 09 09 09 09 09 09 3b | 54 61 6b 65 20 6f 66 66 |.......;|Take off|
|00001200| 20 41 30 20 61 6e 64 20 | 41 31 20 77 65 20 70 75 | A0 and |A1 we pu|
|00001210| 73 68 65 64 2e 0d 09 09 | 09 09 41 44 44 41 2e 4c |shed....|..ADDA.L|
|00001220| 09 09 23 50 61 72 61 6d | 53 69 7a 65 2c 53 50 09 |..#Param|Size,SP.|
|00001230| 09 09 09 09 3b 73 74 72 | 69 70 20 61 6c 6c 20 6f |....;str|ip all o|
|00001240| 66 20 74 68 65 20 63 61 | 6c 6c 65 72 27 73 20 70 |f the ca|ller's p|
|00001250| 61 72 61 6d 65 74 65 72 | 73 0d 09 09 09 09 4d 4f |arameter|s.....MO|
|00001260| 56 45 4d 2e 4c 20 09 09 | 28 41 37 29 2b 2c 44 31 |VEM.L ..|(A7)+,D1|
|00001270| 2d 44 33 2f 41 30 2d 41 | 34 20 20 20 20 09 09 3b |-D3/A0-A|4 ..;|
|00001280| 52 65 73 74 6f 72 65 20 | 72 65 67 69 73 74 65 72 |Restore |register|
|00001290| 73 20 28 56 31 2e 31 41 | 29 0d 09 09 09 09 53 57 |s (V1.1A|).....SW|
|000012a0| 41 50 09 09 09 44 30 09 | 09 09 09 09 09 09 09 09 |AP...D0.|........|
|000012b0| 3b 53 61 76 65 20 72 65 | 73 75 6c 74 20 69 6e 20 |;Save re|sult in |
|000012c0| 4d 6f 73 74 53 69 67 20 | 57 6f 72 64 0d 09 09 09 |MostSig |Word....|
|000012d0| 09 4d 4f 56 45 2e 57 09 | 09 69 6f 54 72 61 70 28 |.MOVE.W.|.ioTrap(|
|000012e0| 41 30 29 2c 44 30 09 09 | 09 09 09 3b 6d 6f 76 65 |A0),D0..|...;move|
|000012f0| 20 69 6f 54 72 61 70 20 | 69 6e 74 6f 20 72 65 67 | ioTrap |into reg|
|00001300| 69 73 74 65 72 20 73 6f | 20 77 65 20 63 61 6e 20 |ister so| we can |
|00001310| 74 65 73 74 0d 09 09 09 | 09 53 57 41 50 09 09 09 |test....|.SWAP...|
|00001320| 44 30 09 09 09 09 09 09 | 09 09 09 3b 42 61 63 6b |D0......|...;Back|
|00001330| 20 61 67 61 69 6e 0d 09 | 09 09 09 42 54 53 54 09 | again..|...BTST.|
|00001340| 09 09 23 28 6e 6f 51 75 | 65 75 65 42 69 74 2b 31 |..#(noQu|eueBit+1|
|00001350| 36 29 2c 20 44 30 09 09 | 09 3b 54 65 73 74 20 74 |6), D0..|.;Test t|
|00001360| 68 65 20 62 69 74 2e 0d | 09 09 09 09 42 4e 45 2e |he bit..|....BNE.|
|00001370| 53 09 09 09 4f 70 65 6e | 52 54 53 09 09 09 09 09 |S...Open|RTS.....|
|00001380| 09 09 3b 49 66 20 5a 20 | 3d 20 30 2c 20 74 68 65 |..;If Z |= 0, the|
|00001390| 6e 20 6e 6f 51 75 65 75 | 65 42 69 74 20 73 65 74 |n noQueu|eBit set|
|000013a0| 20 2d 2d 20 62 72 61 6e | 63 68 0d 0d 09 09 09 09 | -- bran|ch......|
|000013b0| 43 4d 50 2e 57 09 09 09 | 23 24 31 2c 44 30 09 09 |CMP.W...|#$1,D0..|
|000013c0| 09 09 09 09 09 3b 43 6f | 6d 70 61 72 65 20 72 65 |.....;Co|mpare re|
|000013d0| 73 75 6c 74 20 77 69 74 | 68 20 31 0d 09 09 09 09 |sult wit|h 1.....|
|000013e0| 42 45 51 2e 53 09 09 09 | 4f 70 65 6e 52 54 53 09 |BEQ.S...|OpenRTS.|
|000013f0| 09 09 09 09 09 09 3b 4e | 6f 74 20 65 71 75 61 6c |......;N|ot equal|
|00001400| 20 74 6f 20 7a 65 72 6f | 20 73 6f 20 52 54 53 2e | to zero| so RTS.|
|00001410| 0d 09 09 09 09 55 4e 4c | 4b 09 09 09 41 36 09 09 |.....UNL|K...A6..|
|00001420| 09 09 09 09 09 09 09 3b | 64 65 73 74 72 6f 79 20 |.......;|destroy |
|00001430| 74 68 65 20 6c 69 6e 6b | 0d 09 09 09 09 4d 4f 56 |the link|.....MOV|
|00001440| 45 2e 4c 09 09 6a 49 4f | 44 6f 6e 65 2c 2d 28 41 |E.L..jIO|Done,-(A|
|00001450| 37 29 09 09 09 09 09 3b | 50 75 74 20 6a 49 4f 44 |7).....;|Put jIOD|
|00001460| 6f 6e 65 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |one on t|he stack|
|00001470| 0d 09 09 09 09 52 54 53 | 09 09 09 09 09 09 09 09 |.....RTS|........|
|00001480| 09 09 09 09 3b 72 65 74 | 75 72 6e 20 74 6f 20 74 |....;ret|urn to t|
|00001490| 68 65 20 63 61 6c 6c 65 | 72 0d 09 09 09 09 0d 4f |he calle|r......O|
|000014a0| 70 65 6e 52 54 53 09 09 | 55 4e 4c 4b 09 09 09 41 |penRTS..|UNLK...A|
|000014b0| 36 09 09 09 09 09 09 09 | 09 09 3b 64 65 73 74 72 |6.......|..;destr|
|000014c0| 6f 79 20 74 68 65 20 6c | 69 6e 6b 0d 09 09 09 09 |oy the l|ink.....|
|000014d0| 52 54 53 09 09 09 09 09 | 09 09 09 09 09 09 09 3b |RTS.....|.......;|
|000014e0| 72 65 74 75 72 6e 20 74 | 6f 20 74 68 65 20 63 61 |return t|o the ca|
|000014f0| 6c 6c 65 72 0d 09 09 09 | 09 44 62 67 49 6e 66 6f |ller....|.DbgInfo|
|00001500| 09 09 54 53 45 4f 70 65 | 6e 09 09 09 09 09 09 09 |..TSEOpe|n.......|
|00001510| 3b 74 68 69 73 20 6e 61 | 6d 65 20 77 69 6c 6c 20 |;this na|me will |
|00001520| 61 70 70 65 61 72 20 69 | 6e 20 74 68 65 20 64 65 |appear i|n the de|
|00001530| 62 75 67 67 65 72 0d 09 | 09 09 09 45 4e 44 50 0d |bugger..|...ENDP.|
|00001540| 0d 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..******|********|
|00001550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001560| 2a 2a 2a 2a 2a 20 54 53 | 45 50 72 69 6d 65 20 2a |***** TS|EPrime *|
|00001570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001590| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 2a 20 54 68 69 73 20 |********|.* This |
|000015a0| 72 6f 75 74 69 6e 65 20 | 28 61 6e 64 20 61 6c 6c |routine |(and all|
|000015b0| 20 6c 69 6b 65 20 69 74 | 20 62 65 6c 6f 77 29 20 | like it| below) |
|000015c0| 70 65 72 66 6f 72 6d 73 | 20 74 68 72 65 65 20 62 |performs| three b|
|000015d0| 61 73 69 63 20 66 75 6e | 63 74 69 6f 6e 73 3a 20 |asic fun|ctions: |
|000015e0| 09 09 09 09 09 2a 0d 2a | 20 31 29 20 70 75 73 68 |.....*.*| 1) push|
|000015f0| 69 6e 67 20 74 68 65 20 | 70 61 72 61 6d 65 74 65 |ing the |paramete|
|00001600| 72 20 62 6c 6f 63 6b 20 | 28 41 30 29 2c 20 61 6e |r block |(A0), an|
|00001610| 64 20 74 68 65 20 70 6f | 69 6e 74 65 72 20 74 6f |d the po|inter to|
|00001620| 20 74 68 65 20 44 43 45 | 20 28 41 31 29 20 6f 6e | the DCE| (A1) on|
|00001630| 20 74 68 65 20 73 74 61 | 63 6b 2e 2a 0d 2a 20 32 | the sta|ck.*.* 2|
|00001640| 29 20 54 65 73 74 69 6e | 67 20 74 6f 20 73 65 65 |) Testin|g to see|
|00001650| 20 77 68 65 74 68 65 72 | 20 74 68 65 20 69 6d 6d | whether| the imm|
|00001660| 65 64 69 61 74 65 20 62 | 69 74 20 77 61 73 20 73 |ediate b|it was s|
|00001670| 65 74 20 69 6e 20 74 68 | 65 20 74 72 61 70 20 77 |et in th|e trap w|
|00001680| 6f 72 64 20 61 6e 64 20 | 52 54 53 69 6e 67 09 2a |ord and |RTSing.*|
|00001690| 0d 2a 20 33 29 20 54 65 | 73 74 69 6e 67 20 74 68 |.* 3) Te|sting th|
|000016a0| 65 20 72 65 73 75 6c 74 | 20 69 6e 20 44 30 2e 20 |e result| in D0. |
|000016b0| 20 49 66 20 69 74 27 73 | 20 31 20 74 68 65 20 6f | If it's| 1 the o|
|000016c0| 70 65 72 61 74 69 6f 6e | 20 68 61 73 6e 27 74 20 |peration| hasn't |
|000016d0| 63 6f 6d 70 6c 65 74 65 | 64 20 79 65 74 2c 20 73 |complete|d yet, s|
|000016e0| 6f 20 77 65 09 2a 0d 2a | 20 20 20 20 6a 75 73 74 |o we.*.*| just|
|000016f0| 20 77 61 6e 74 20 74 6f | 20 52 54 53 2e 20 20 49 | want to| RTS. I|
|00001700| 66 20 69 74 27 73 20 4e | 4f 54 20 31 2c 20 74 68 |f it's N|OT 1, th|
|00001710| 65 6e 20 77 65 27 6c 6c | 20 6a 75 6d 70 20 74 68 |en we'll| jump th|
|00001720| 72 6f 75 67 68 20 6a 49 | 4f 44 6f 6e 65 2e 09 09 |rough jI|ODone...|
|00001730| 09 09 09 2a 0d 2a 20 49 | 20 70 75 74 20 74 68 65 |...*.* I| put the|
|00001740| 20 73 74 61 6e 64 61 72 | 64 20 70 72 6f 63 65 64 | standar|d proced|
|00001750| 75 72 65 20 68 65 61 64 | 65 72 20 69 6e 20 6a 75 |ure head|er in ju|
|00001760| 73 74 20 73 6f 20 79 6f | 75 27 64 20 73 65 65 20 |st so yo|u'd see |
|00001770| 61 6e 6f 74 68 65 72 20 | 65 78 61 6d 70 6c 65 20 |another |example |
|00001780| 6f 66 20 69 74 20 69 6e | 09 2a 0d 2a 20 75 73 65 |of it in|.*.* use|
|00001790| 2e 20 20 49 20 66 6f 75 | 6e 64 20 53 61 6d 70 6c |. I fou|nd Sampl|
|000017a0| 65 2e 61 20 74 6f 20 62 | 65 20 6d 6f 73 74 20 68 |e.a to b|e most h|
|000017b0| 65 6c 70 66 75 6c 20 69 | 6e 20 6d 75 63 68 20 6f |elpful i|n much o|
|000017c0| 66 20 77 68 61 74 20 49 | 20 64 69 64 20 68 65 72 |f what I| did her|
|000017d0| 65 2e 09 09 09 09 09 2a | 0d 2a 2a 2a 2a 2a 2a 2a |e......*|.*******|
|000017e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000017f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001800| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001810| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001820| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 54 |********|******.T|
|00001830| 53 45 50 72 69 6d 65 09 | 09 50 52 4f 43 09 09 09 |SEPrime.|.PROC...|
|00001840| 45 58 50 4f 52 54 09 09 | 09 09 09 09 09 3b 20 61 |EXPORT..|.....; a|
|00001850| 6e 79 20 73 6f 75 72 63 | 65 20 66 69 6c 65 20 63 |ny sourc|e file c|
|00001860| 61 6e 20 75 73 65 20 74 | 68 69 73 20 72 6f 75 74 |an use t|his rout|
|00001870| 69 6e 65 0d 0d 53 74 61 | 63 6b 46 72 61 6d 65 09 |ine..Sta|ckFrame.|
|00001880| 52 45 43 4f 52 44 09 09 | 7b 41 36 4c 69 6e 6b 7d |RECORD..|{A6Link}|
|00001890| 2c 44 45 43 52 09 09 09 | 09 09 3b 20 62 75 69 6c |,DECR...|..; buil|
|000018a0| 64 20 61 20 73 74 61 63 | 6b 20 66 72 61 6d 65 20 |d a stac|k frame |
|000018b0| 72 65 63 6f 72 64 0d 52 | 65 73 75 6c 74 31 09 09 |record.R|esult1..|
|000018c0| 44 53 2e 57 09 09 09 31 | 09 09 09 09 09 09 09 09 |DS.W...1|........|
|000018d0| 09 3b 20 66 75 6e 63 74 | 69 6f 6e 27 73 20 72 65 |.; funct|ion's re|
|000018e0| 73 75 6c 74 20 72 65 74 | 75 72 6e 65 64 20 74 6f |sult ret|urned to|
|000018f0| 20 63 61 6c 6c 65 72 0d | 50 61 72 61 6d 42 65 67 | caller.|ParamBeg|
|00001900| 69 6e 09 45 51 55 09 09 | 09 2a 09 09 09 09 09 09 |in.EQU..|.*......|
|00001910| 09 09 09 3b 20 73 74 61 | 72 74 20 70 61 72 61 6d |...; sta|rt param|
|00001920| 65 74 65 72 73 20 61 66 | 74 65 72 20 74 68 69 73 |eters af|ter this|
|00001930| 20 70 6f 69 6e 74 0d 50 | 61 72 61 6d 53 69 7a 65 | point.P|aramSize|
|00001940| 09 45 51 55 09 09 09 50 | 61 72 61 6d 42 65 67 69 |.EQU...P|aramBegi|
|00001950| 6e 2d 2a 09 09 09 09 09 | 3b 20 73 69 7a 65 20 6f |n-*.....|; size o|
|00001960| 66 20 61 6c 6c 20 74 68 | 65 20 70 61 73 73 65 64 |f all th|e passed|
|00001970| 20 70 61 72 61 6d 65 74 | 65 72 73 0d 52 65 74 41 | paramet|ers.RetA|
|00001980| 64 64 72 20 09 09 44 53 | 2e 4c 09 09 09 31 09 09 |ddr ..DS|.L...1..|
|00001990| 09 09 09 09 09 09 09 3b | 20 70 6c 61 63 65 20 68 |.......;| place h|
|000019a0| 6f 6c 64 65 72 20 66 6f | 72 20 72 65 74 75 72 6e |older fo|r return|
|000019b0| 20 61 64 64 72 65 73 73 | 0d 41 36 4c 69 6e 6b 09 | address|.A6Link.|
|000019c0| 09 44 53 2e 4c 09 09 09 | 31 09 09 09 09 09 09 09 |.DS.L...|1.......|
|000019d0| 09 09 3b 20 70 6c 61 63 | 65 20 68 6f 6c 64 65 72 |..; plac|e holder|
|000019e0| 20 66 6f 72 20 41 36 20 | 6c 69 6e 6b 0d 4c 6f 63 | for A6 |link.Loc|
|000019f0| 61 6c 53 69 7a 65 09 45 | 51 55 20 09 09 09 2a 09 |alSize.E|QU ...*.|
|00001a00| 09 09 09 09 09 09 09 09 | 3b 20 73 69 7a 65 20 6f |........|; size o|
|00001a10| 66 20 61 6c 6c 20 74 68 | 65 20 6c 6f 63 61 6c 20 |f all th|e local |
|00001a20| 76 61 72 69 61 62 6c 65 | 73 0d 09 09 09 09 45 4e |variable|s.....EN|
|00001a30| 44 52 0d 0d 09 09 09 09 | 57 49 54 48 09 09 09 53 |DR......|WITH...S|
|00001a40| 74 61 63 6b 46 72 61 6d | 65 09 09 09 09 09 09 3b |tackFram|e......;|
|00001a50| 20 63 6f 76 65 72 20 6f | 75 72 20 6c 6f 63 61 6c | cover o|ur local|
|00001a60| 20 73 74 61 63 6b 20 66 | 72 61 6d 65 0d 09 09 09 | stack f|rame....|
|00001a70| 09 4c 49 4e 4b 09 09 09 | 41 36 2c 23 4c 6f 63 61 |.LINK...|A6,#Loca|
|00001a80| 6c 53 69 7a 65 09 09 09 | 09 09 3b 20 61 6c 6c 6f |lSize...|..; allo|
|00001a90| 63 61 74 65 20 6f 75 72 | 20 6c 6f 63 61 6c 20 73 |cate our| local s|
|00001aa0| 74 61 63 6b 20 66 72 61 | 6d 65 0d 09 09 09 09 0d |tack fra|me......|
|00001ab0| 09 09 09 09 0d 09 09 20 | 09 09 4d 4f 56 45 4d 2e |....... |..MOVEM.|
|00001ac0| 4c 20 09 09 44 31 2d 44 | 33 2f 41 30 2d 41 34 2c |L ..D1-D|3/A0-A4,|
|00001ad0| 2d 28 41 37 29 20 20 20 | 09 09 09 3b 53 61 76 65 |-(A7) |...;Save|
|00001ae0| 20 72 65 67 69 73 74 65 | 72 73 20 28 56 31 2e 31 | registe|rs (V1.1|
|00001af0| 41 29 0d 09 09 09 09 4d | 4f 56 45 2e 4c 09 09 41 |A).....M|OVE.L..A|
|00001b00| 31 2c 2d 28 41 37 29 09 | 09 09 09 09 09 09 3b 50 |1,-(A7).|......;P|
|00001b10| 75 74 20 61 64 64 72 65 | 73 73 20 6f 66 20 44 43 |ut addre|ss of DC|
|00001b20| 45 20 6f 6e 74 6f 20 73 | 74 61 63 6b 0d 09 09 09 |E onto s|tack....|
|00001b30| 09 4d 4f 56 45 2e 4c 09 | 09 41 30 2c 2d 28 41 37 |.MOVE.L.|.A0,-(A7|
|00001b40| 29 09 09 09 09 09 09 09 | 3b 50 75 74 20 61 64 64 |).......|;Put add|
|00001b50| 72 65 73 73 20 6f 66 20 | 50 61 72 61 6d 42 6c 6f |ress of |ParamBlo|
|00001b60| 63 6b 20 6f 6e 74 6f 20 | 73 74 61 63 6b 0d 09 09 |ck onto |stack...|
|00001b70| 09 09 4a 53 52 20 09 09 | 09 54 53 44 52 56 52 50 |..JSR ..|.TSDRVRP|
|00001b80| 72 69 6d 65 09 09 09 09 | 09 09 3b 43 61 6c 6c 20 |rime....|..;Call |
|00001b90| 6f 75 72 20 72 6f 75 74 | 69 6e 65 2e 0d 09 09 09 |our rout|ine.....|
|00001ba0| 09 41 44 44 51 2e 57 09 | 09 23 24 38 2c 41 37 09 |.ADDQ.W.|.#$8,A7.|
|00001bb0| 09 09 09 09 09 09 3b 54 | 61 6b 65 20 6f 66 66 20 |......;T|ake off |
|00001bc0| 41 30 20 61 6e 64 20 41 | 31 20 77 65 20 70 75 73 |A0 and A|1 we pus|
|00001bd0| 68 65 64 2e 0d 09 09 09 | 09 41 44 44 41 2e 4c 09 |hed.....|.ADDA.L.|
|00001be0| 09 23 50 61 72 61 6d 53 | 69 7a 65 2c 53 50 09 09 |.#ParamS|ize,SP..|
|00001bf0| 09 09 09 3b 73 74 72 69 | 70 20 61 6c 6c 20 6f 66 |...;stri|p all of|
|00001c00| 20 74 68 65 20 63 61 6c | 6c 65 72 27 73 20 70 61 | the cal|ler's pa|
|00001c10| 72 61 6d 65 74 65 72 73 | 0d 09 09 09 09 4d 4f 56 |rameters|.....MOV|
|00001c20| 45 4d 2e 4c 20 09 09 28 | 41 37 29 2b 2c 44 31 2d |EM.L ..(|A7)+,D1-|
|00001c30| 44 33 2f 41 30 2d 41 34 | 20 20 20 20 09 09 3b 52 |D3/A0-A4| ..;R|
|00001c40| 65 73 74 6f 72 65 20 72 | 65 67 69 73 74 65 72 73 |estore r|egisters|
|00001c50| 20 28 56 31 2e 31 41 29 | 0d 09 09 09 09 53 57 41 | (V1.1A)|.....SWA|
|00001c60| 50 09 09 09 44 30 09 09 | 09 09 09 09 09 09 09 3b |P...D0..|.......;|
|00001c70| 53 61 76 65 20 72 65 73 | 75 6c 74 20 69 6e 20 4d |Save res|ult in M|
|00001c80| 6f 73 74 53 69 67 20 57 | 6f 72 64 0d 09 09 09 09 |ostSig W|ord.....|
|00001c90| 4d 4f 56 45 2e 57 09 09 | 69 6f 54 72 61 70 28 41 |MOVE.W..|ioTrap(A|
|00001ca0| 30 29 2c 44 30 09 09 09 | 09 09 3b 6d 6f 76 65 20 |0),D0...|..;move |
|00001cb0| 69 6f 54 72 61 70 20 69 | 6e 74 6f 20 72 65 67 69 |ioTrap i|nto regi|
|00001cc0| 73 74 65 72 20 73 6f 20 | 77 65 20 63 61 6e 20 74 |ster so |we can t|
|00001cd0| 65 73 74 0d 09 09 09 09 | 53 57 41 50 09 09 09 44 |est.....|SWAP...D|
|00001ce0| 30 09 09 09 09 09 09 09 | 09 09 3b 42 61 63 6b 20 |0.......|..;Back |
|00001cf0| 61 67 61 69 6e 0d 09 09 | 09 09 42 54 53 54 09 09 |again...|..BTST..|
|00001d00| 09 23 28 6e 6f 51 75 65 | 75 65 42 69 74 2b 31 36 |.#(noQue|ueBit+16|
|00001d10| 29 2c 20 44 30 09 09 09 | 3b 54 65 73 74 20 74 68 |), D0...|;Test th|
|00001d20| 65 20 62 69 74 2e 0d 09 | 09 09 09 42 4e 45 2e 53 |e bit...|...BNE.S|
|00001d30| 09 09 09 50 72 69 6d 65 | 52 54 53 09 09 09 09 09 |...Prime|RTS.....|
|00001d40| 09 09 3b 49 66 20 5a 20 | 3d 20 30 2c 20 74 68 65 |..;If Z |= 0, the|
|00001d50| 6e 20 6e 6f 51 75 65 75 | 65 42 69 74 20 73 65 74 |n noQueu|eBit set|
|00001d60| 20 2d 2d 20 62 72 61 6e | 63 68 0d 0d 09 09 09 09 | -- bran|ch......|
|00001d70| 43 4d 50 2e 57 09 09 09 | 23 24 31 2c 44 30 09 09 |CMP.W...|#$1,D0..|
|00001d80| 09 09 09 09 09 3b 43 6f | 6d 70 61 72 65 20 72 65 |.....;Co|mpare re|
|00001d90| 73 75 6c 74 20 77 69 74 | 68 20 31 0d 09 09 09 09 |sult wit|h 1.....|
|00001da0| 42 45 51 2e 53 09 09 09 | 50 72 69 6d 65 52 54 53 |BEQ.S...|PrimeRTS|
|00001db0| 09 09 09 09 09 09 09 3b | 4e 6f 74 20 65 71 75 61 |.......;|Not equa|
|00001dc0| 6c 20 74 6f 20 7a 65 72 | 6f 20 73 6f 20 52 54 53 |l to zer|o so RTS|
|00001dd0| 2e 0d 09 09 09 09 55 4e | 4c 4b 09 09 09 41 36 09 |......UN|LK...A6.|
|00001de0| 09 09 09 09 09 09 09 09 | 3b 64 65 73 74 72 6f 79 |........|;destroy|
|00001df0| 20 74 68 65 20 6c 69 6e | 6b 0d 09 09 09 09 4d 4f | the lin|k.....MO|
|00001e00| 56 45 2e 4c 09 09 6a 49 | 4f 44 6f 6e 65 2c 2d 28 |VE.L..jI|ODone,-(|
|00001e10| 41 37 29 09 09 09 09 09 | 3b 50 75 74 20 6a 49 4f |A7).....|;Put jIO|
|00001e20| 44 6f 6e 65 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |Done on |the stac|
|00001e30| 6b 0d 09 09 09 09 52 54 | 53 09 09 09 09 09 09 09 |k.....RT|S.......|
|00001e40| 09 09 09 09 09 3b 72 65 | 74 75 72 6e 20 74 6f 20 |.....;re|turn to |
|00001e50| 74 68 65 20 63 61 6c 6c | 65 72 0d 09 09 09 09 0d |the call|er......|
|00001e60| 50 72 69 6d 65 52 54 53 | 09 09 55 4e 4c 4b 09 09 |PrimeRTS|..UNLK..|
|00001e70| 09 41 36 09 09 09 09 09 | 09 09 09 09 3b 64 65 73 |.A6.....|....;des|
|00001e80| 74 72 6f 79 20 74 68 65 | 20 6c 69 6e 6b 0d 09 09 |troy the| link...|
|00001e90| 09 09 52 54 53 09 09 09 | 09 09 09 09 09 09 09 09 |..RTS...|........|
|00001ea0| 09 3b 72 65 74 75 72 6e | 20 74 6f 20 74 68 65 20 |.;return| to the |
|00001eb0| 63 61 6c 6c 65 72 0d 09 | 09 09 09 44 62 67 49 6e |caller..|...DbgIn|
|00001ec0| 66 6f 09 09 54 53 45 50 | 72 69 6d 65 09 09 09 09 |fo..TSEP|rime....|
|00001ed0| 09 09 09 3b 74 68 69 73 | 20 6e 61 6d 65 20 77 69 |...;this| name wi|
|00001ee0| 6c 6c 20 61 70 70 65 61 | 72 20 69 6e 20 74 68 65 |ll appea|r in the|
|00001ef0| 20 64 65 62 75 67 67 65 | 72 0d 09 09 09 09 45 4e | debugge|r.....EN|
|00001f00| 44 50 0d 0d 0d 0d 0d 2a | 2a 2a 2a 2a 2a 2a 2a 2a |DP.....*|********|
|00001f10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 20 54 53 45 43 6f |********|** TSECo|
|00001f30| 6e 74 72 6f 6c 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ntrol **|********|
|00001f40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 2a 20 |********|*****.* |
|00001f60| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 28 61 6e |This rou|tine (an|
|00001f70| 64 20 61 6c 6c 20 6c 69 | 6b 65 20 69 74 20 62 65 |d all li|ke it be|
|00001f80| 6c 6f 77 29 20 70 65 72 | 66 6f 72 6d 73 20 74 68 |low) per|forms th|
|00001f90| 72 65 65 20 62 61 73 69 | 63 20 66 75 6e 63 74 69 |ree basi|c functi|
|00001fa0| 6f 6e 73 3a 20 09 09 09 | 09 09 2a 0d 2a 20 31 29 |ons: ...|..*.* 1)|
|00001fb0| 20 70 75 73 68 69 6e 67 | 20 74 68 65 20 70 61 72 | pushing| the par|
|00001fc0| 61 6d 65 74 65 72 20 62 | 6c 6f 63 6b 20 28 41 30 |ameter b|lock (A0|
|00001fd0| 29 2c 20 61 6e 64 20 74 | 68 65 20 70 6f 69 6e 74 |), and t|he point|
|00001fe0| 65 72 20 74 6f 20 74 68 | 65 20 44 43 45 20 28 41 |er to th|e DCE (A|
|00001ff0| 31 29 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |1) on th|e stack.|
|00002000| 2a 0d 2a 20 32 29 20 54 | 65 73 74 69 6e 67 20 74 |*.* 2) T|esting t|
|00002010| 6f 20 73 65 65 20 77 68 | 65 74 68 65 72 20 74 68 |o see wh|ether th|
|00002020| 65 20 69 6d 6d 65 64 69 | 61 74 65 20 62 69 74 20 |e immedi|ate bit |
|00002030| 77 61 73 20 73 65 74 20 | 69 6e 20 74 68 65 20 74 |was set |in the t|
|00002040| 72 61 70 20 77 6f 72 64 | 20 61 6e 64 20 52 54 53 |rap word| and RTS|
|00002050| 69 6e 67 09 2a 0d 2a 20 | 33 29 20 54 65 73 74 69 |ing.*.* |3) Testi|
|00002060| 6e 67 20 74 68 65 20 72 | 65 73 75 6c 74 20 69 6e |ng the r|esult in|
|00002070| 20 44 30 2e 20 20 49 66 | 20 69 74 27 73 20 31 20 | D0. If| it's 1 |
|00002080| 74 68 65 20 6f 70 65 72 | 61 74 69 6f 6e 20 68 61 |the oper|ation ha|
|00002090| 73 6e 27 74 20 63 6f 6d | 70 6c 65 74 65 64 20 79 |sn't com|pleted y|
|000020a0| 65 74 2c 20 73 6f 20 77 | 65 09 2a 0d 2a 20 20 20 |et, so w|e.*.* |
|000020b0| 20 6a 75 73 74 20 77 61 | 6e 74 20 74 6f 20 52 54 | just wa|nt to RT|
|000020c0| 53 2e 20 20 49 66 20 69 | 74 27 73 20 4e 4f 54 20 |S. If i|t's NOT |
|000020d0| 31 2c 20 74 68 65 6e 20 | 77 65 27 6c 6c 20 6a 75 |1, then |we'll ju|
|000020e0| 6d 70 20 74 68 72 6f 75 | 67 68 20 6a 49 4f 44 6f |mp throu|gh jIODo|
|000020f0| 6e 65 2e 09 09 09 09 09 | 2a 0d 2a 20 49 20 70 75 |ne......|*.* I pu|
|00002100| 74 20 74 68 65 20 73 74 | 61 6e 64 61 72 64 20 70 |t the st|andard p|
|00002110| 72 6f 63 65 64 75 72 65 | 20 68 65 61 64 65 72 20 |rocedure| header |
|00002120| 69 6e 20 6a 75 73 74 20 | 73 6f 20 79 6f 75 27 64 |in just |so you'd|
|00002130| 20 73 65 65 20 61 6e 6f | 74 68 65 72 20 65 78 61 | see ano|ther exa|
|00002140| 6d 70 6c 65 20 6f 66 20 | 69 74 20 69 6e 09 2a 0d |mple of |it in.*.|
|00002150| 2a 20 75 73 65 2e 20 20 | 49 20 66 6f 75 6e 64 20 |* use. |I found |
|00002160| 53 61 6d 70 6c 65 2e 61 | 20 74 6f 20 62 65 20 6d |Sample.a| to be m|
|00002170| 6f 73 74 20 68 65 6c 70 | 66 75 6c 20 69 6e 20 6d |ost help|ful in m|
|00002180| 75 63 68 20 6f 66 20 77 | 68 61 74 20 49 20 64 69 |uch of w|hat I di|
|00002190| 64 20 68 65 72 65 2e 09 | 09 09 09 09 2a 0d 2a 2a |d here..|....*.**|
|000021a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021f0| 2a 2a 2a 0d 54 53 45 43 | 6f 6e 74 72 6f 6c 09 50 |***.TSEC|ontrol.P|
|00002200| 52 4f 43 09 09 09 45 58 | 50 4f 52 54 09 09 09 09 |ROC...EX|PORT....|
|00002210| 09 09 09 3b 20 61 6e 79 | 20 73 6f 75 72 63 65 20 |...; any| source |
|00002220| 66 69 6c 65 20 63 61 6e | 20 75 73 65 20 74 68 69 |file can| use thi|
|00002230| 73 20 72 6f 75 74 69 6e | 65 0d 0d 53 74 61 63 6b |s routin|e..Stack|
|00002240| 46 72 61 6d 65 09 52 45 | 43 4f 52 44 09 09 7b 41 |Frame.RE|CORD..{A|
|00002250| 36 4c 69 6e 6b 7d 2c 44 | 45 43 52 09 09 09 09 09 |6Link},D|ECR.....|
|00002260| 3b 20 62 75 69 6c 64 20 | 61 20 73 74 61 63 6b 20 |; build |a stack |
|00002270| 66 72 61 6d 65 20 72 65 | 63 6f 72 64 0d 52 65 73 |frame re|cord.Res|
|00002280| 75 6c 74 31 09 09 44 53 | 2e 57 09 09 09 31 09 09 |ult1..DS|.W...1..|
|00002290| 09 09 09 09 09 09 09 3b | 20 66 75 6e 63 74 69 6f |.......;| functio|
|000022a0| 6e 27 73 20 72 65 73 75 | 6c 74 20 72 65 74 75 72 |n's resu|lt retur|
|000022b0| 6e 65 64 20 74 6f 20 63 | 61 6c 6c 65 72 0d 50 61 |ned to c|aller.Pa|
|000022c0| 72 61 6d 42 65 67 69 6e | 09 45 51 55 09 09 09 2a |ramBegin|.EQU...*|
|000022d0| 09 09 09 09 09 09 09 09 | 09 3b 20 73 74 61 72 74 |........|.; start|
|000022e0| 20 70 61 72 61 6d 65 74 | 65 72 73 20 61 66 74 65 | paramet|ers afte|
|000022f0| 72 20 74 68 69 73 20 70 | 6f 69 6e 74 0d 50 61 72 |r this p|oint.Par|
|00002300| 61 6d 53 69 7a 65 09 45 | 51 55 09 09 09 50 61 72 |amSize.E|QU...Par|
|00002310| 61 6d 42 65 67 69 6e 2d | 2a 09 09 09 09 09 3b 20 |amBegin-|*.....; |
|00002320| 73 69 7a 65 20 6f 66 20 | 61 6c 6c 20 74 68 65 20 |size of |all the |
|00002330| 70 61 73 73 65 64 20 70 | 61 72 61 6d 65 74 65 72 |passed p|arameter|
|00002340| 73 0d 52 65 74 41 64 64 | 72 20 09 09 44 53 2e 4c |s.RetAdd|r ..DS.L|
|00002350| 09 09 09 31 09 09 09 09 | 09 09 09 09 09 3b 20 70 |...1....|.....; p|
|00002360| 6c 61 63 65 20 68 6f 6c | 64 65 72 20 66 6f 72 20 |lace hol|der for |
|00002370| 72 65 74 75 72 6e 20 61 | 64 64 72 65 73 73 0d 41 |return a|ddress.A|
|00002380| 36 4c 69 6e 6b 09 09 44 | 53 2e 4c 09 09 09 31 09 |6Link..D|S.L...1.|
|00002390| 09 09 09 09 09 09 09 09 | 3b 20 70 6c 61 63 65 20 |........|; place |
|000023a0| 68 6f 6c 64 65 72 20 66 | 6f 72 20 41 36 20 6c 69 |holder f|or A6 li|
|000023b0| 6e 6b 0d 4c 6f 63 61 6c | 53 69 7a 65 09 45 51 55 |nk.Local|Size.EQU|
|000023c0| 20 09 09 09 2a 09 09 09 | 09 09 09 09 09 09 3b 20 | ...*...|......; |
|000023d0| 73 69 7a 65 20 6f 66 20 | 61 6c 6c 20 74 68 65 20 |size of |all the |
|000023e0| 6c 6f 63 61 6c 20 76 61 | 72 69 61 62 6c 65 73 0d |local va|riables.|
|000023f0| 09 09 09 09 45 4e 44 52 | 0d 0d 09 09 09 09 57 49 |....ENDR|......WI|
|00002400| 54 48 09 09 09 53 74 61 | 63 6b 46 72 61 6d 65 09 |TH...Sta|ckFrame.|
|00002410| 09 09 09 09 09 3b 20 63 | 6f 76 65 72 20 6f 75 72 |.....; c|over our|
|00002420| 20 6c 6f 63 61 6c 20 73 | 74 61 63 6b 20 66 72 61 | local s|tack fra|
|00002430| 6d 65 0d 09 09 09 09 4c | 49 4e 4b 09 09 09 41 36 |me.....L|INK...A6|
|00002440| 2c 23 4c 6f 63 61 6c 53 | 69 7a 65 09 09 09 09 09 |,#LocalS|ize.....|
|00002450| 3b 20 61 6c 6c 6f 63 61 | 74 65 20 6f 75 72 20 6c |; alloca|te our l|
|00002460| 6f 63 61 6c 20 73 74 61 | 63 6b 20 66 72 61 6d 65 |ocal sta|ck frame|
|00002470| 0d 09 09 09 09 0d 09 09 | 09 09 5f 44 65 62 75 67 |........|.._Debug|
|00002480| 67 65 72 09 09 09 09 0d | 09 09 20 09 09 4d 4f 56 |ger.....|.. ..MOV|
|00002490| 45 4d 2e 4c 20 09 09 44 | 31 2d 44 33 2f 41 30 2d |EM.L ..D|1-D3/A0-|
|000024a0| 41 34 2c 2d 28 41 37 29 | 20 20 20 09 09 09 3b 53 |A4,-(A7)| ...;S|
|000024b0| 61 76 65 20 72 65 67 69 | 73 74 65 72 73 20 28 56 |ave regi|sters (V|
|000024c0| 31 2e 31 41 29 0d 09 09 | 09 09 4d 4f 56 45 2e 4c |1.1A)...|..MOVE.L|
|000024d0| 09 09 41 31 2c 2d 28 41 | 37 29 09 09 09 09 09 09 |..A1,-(A|7)......|
|000024e0| 09 3b 50 75 74 20 61 64 | 64 72 65 73 73 20 6f 66 |.;Put ad|dress of|
|000024f0| 20 44 43 45 20 6f 6e 74 | 6f 20 73 74 61 63 6b 0d | DCE ont|o stack.|
|00002500| 09 09 09 09 4d 4f 56 45 | 2e 4c 09 09 41 30 2c 2d |....MOVE|.L..A0,-|
|00002510| 28 41 37 29 09 09 09 09 | 09 09 09 3b 50 75 74 20 |(A7)....|...;Put |
|00002520| 61 64 64 72 65 73 73 20 | 6f 66 20 50 61 72 61 6d |address |of Param|
|00002530| 42 6c 6f 63 6b 20 6f 6e | 74 6f 20 73 74 61 63 6b |Block on|to stack|
|00002540| 0d 09 09 09 09 4a 53 52 | 20 09 09 09 54 53 44 52 |.....JSR| ...TSDR|
|00002550| 56 52 43 6f 6e 74 72 6f | 6c 09 09 09 09 09 3b 43 |VRContro|l.....;C|
|00002560| 61 6c 6c 20 6f 75 72 20 | 72 6f 75 74 69 6e 65 2e |all our |routine.|
|00002570| 0d 09 09 09 09 41 44 44 | 51 2e 57 09 09 23 24 38 |.....ADD|Q.W..#$8|
|00002580| 2c 41 37 09 09 09 09 09 | 09 09 3b 54 61 6b 65 20 |,A7.....|..;Take |
|00002590| 6f 66 66 20 41 30 20 61 | 6e 64 20 41 31 20 77 65 |off A0 a|nd A1 we|
|000025a0| 20 70 75 73 68 65 64 2e | 0d 09 09 09 09 41 44 44 | pushed.|.....ADD|
|000025b0| 41 2e 4c 09 09 23 50 61 | 72 61 6d 53 69 7a 65 2c |A.L..#Pa|ramSize,|
|000025c0| 53 50 09 09 09 09 09 3b | 73 74 72 69 70 20 61 6c |SP.....;|strip al|
|000025d0| 6c 20 6f 66 20 74 68 65 | 20 63 61 6c 6c 65 72 27 |l of the| caller'|
|000025e0| 73 20 70 61 72 61 6d 65 | 74 65 72 73 0d 09 09 09 |s parame|ters....|
|000025f0| 09 4d 4f 56 45 4d 2e 4c | 20 09 09 28 41 37 29 2b |.MOVEM.L| ..(A7)+|
|00002600| 2c 44 31 2d 44 33 2f 41 | 30 2d 41 34 20 20 20 20 |,D1-D3/A|0-A4 |
|00002610| 09 09 3b 52 65 73 74 6f | 72 65 20 72 65 67 69 73 |..;Resto|re regis|
|00002620| 74 65 72 73 20 28 56 31 | 2e 31 41 29 0d 09 09 09 |ters (V1|.1A)....|
|00002630| 09 53 57 41 50 09 09 09 | 44 30 09 09 09 09 09 09 |.SWAP...|D0......|
|00002640| 09 09 09 3b 53 61 76 65 | 20 72 65 73 75 6c 74 20 |...;Save| result |
|00002650| 69 6e 20 4d 6f 73 74 53 | 69 67 20 57 6f 72 64 0d |in MostS|ig Word.|
|00002660| 09 09 09 09 4d 4f 56 45 | 2e 57 09 09 69 6f 54 72 |....MOVE|.W..ioTr|
|00002670| 61 70 28 41 30 29 2c 44 | 30 09 09 09 09 09 3b 6d |ap(A0),D|0.....;m|
|00002680| 6f 76 65 20 69 6f 54 72 | 61 70 20 69 6e 74 6f 20 |ove ioTr|ap into |
|00002690| 72 65 67 69 73 74 65 72 | 20 73 6f 20 77 65 20 63 |register| so we c|
|000026a0| 61 6e 20 74 65 73 74 0d | 09 09 09 09 53 57 41 50 |an test.|....SWAP|
|000026b0| 09 09 09 44 30 09 09 09 | 09 09 09 09 09 09 3b 42 |...D0...|......;B|
|000026c0| 61 63 6b 20 61 67 61 69 | 6e 0d 09 09 09 09 42 54 |ack agai|n.....BT|
|000026d0| 53 54 09 09 09 23 28 6e | 6f 51 75 65 75 65 42 69 |ST...#(n|oQueueBi|
|000026e0| 74 2b 31 36 29 2c 20 44 | 30 09 09 09 3b 54 65 73 |t+16), D|0...;Tes|
|000026f0| 74 20 74 68 65 20 62 69 | 74 2e 0d 09 09 09 09 42 |t the bi|t......B|
|00002700| 4e 45 2e 53 09 09 09 43 | 6f 6e 74 72 6f 6c 52 54 |NE.S...C|ontrolRT|
|00002710| 53 09 09 09 09 09 09 3b | 49 66 20 5a 20 3d 20 30 |S......;|If Z = 0|
|00002720| 2c 20 74 68 65 6e 20 6e | 6f 51 75 65 75 65 42 69 |, then n|oQueueBi|
|00002730| 74 20 73 65 74 20 2d 2d | 20 62 72 61 6e 63 68 0d |t set --| branch.|
|00002740| 0d 09 09 09 09 43 4d 50 | 2e 57 09 09 09 23 24 31 |.....CMP|.W...#$1|
|00002750| 2c 44 30 09 09 09 09 09 | 09 09 3b 43 6f 6d 70 61 |,D0.....|..;Compa|
|00002760| 72 65 20 72 65 73 75 6c | 74 20 77 69 74 68 20 31 |re resul|t with 1|
|00002770| 0d 09 09 09 09 42 45 51 | 2e 53 09 09 09 43 6f 6e |.....BEQ|.S...Con|
|00002780| 74 72 6f 6c 52 54 53 09 | 09 09 09 09 09 3b 4e 6f |trolRTS.|.....;No|
|00002790| 74 20 65 71 75 61 6c 20 | 74 6f 20 7a 65 72 6f 20 |t equal |to zero |
|000027a0| 73 6f 20 52 54 53 2e 0d | 09 09 09 09 55 4e 4c 4b |so RTS..|....UNLK|
|000027b0| 09 09 09 41 36 09 09 09 | 09 09 09 09 09 09 3b 64 |...A6...|......;d|
|000027c0| 65 73 74 72 6f 79 20 74 | 68 65 20 6c 69 6e 6b 0d |estroy t|he link.|
|000027d0| 09 09 09 09 4d 4f 56 45 | 2e 4c 09 09 6a 49 4f 44 |....MOVE|.L..jIOD|
|000027e0| 6f 6e 65 2c 2d 28 41 37 | 29 09 09 09 09 09 3b 50 |one,-(A7|).....;P|
|000027f0| 75 74 20 6a 49 4f 44 6f | 6e 65 20 6f 6e 20 74 68 |ut jIODo|ne on th|
|00002800| 65 20 73 74 61 63 6b 0d | 09 09 09 09 52 54 53 09 |e stack.|....RTS.|
|00002810| 09 09 09 09 09 09 09 09 | 09 09 09 3b 72 65 74 75 |........|...;retu|
|00002820| 72 6e 20 74 6f 20 74 68 | 65 20 63 61 6c 6c 65 72 |rn to th|e caller|
|00002830| 0d 09 09 09 09 0d 43 6f | 6e 74 72 6f 6c 52 54 53 |......Co|ntrolRTS|
|00002840| 09 55 4e 4c 4b 09 09 09 | 41 36 09 09 09 09 09 09 |.UNLK...|A6......|
|00002850| 09 09 09 3b 64 65 73 74 | 72 6f 79 20 74 68 65 20 |...;dest|roy the |
|00002860| 6c 69 6e 6b 0d 09 09 09 | 09 52 54 53 09 09 09 09 |link....|.RTS....|
|00002870| 09 09 09 09 09 09 09 09 | 3b 72 65 74 75 72 6e 20 |........|;return |
|00002880| 74 6f 20 74 68 65 20 63 | 61 6c 6c 65 72 0d 09 09 |to the c|aller...|
|00002890| 09 09 44 62 67 49 6e 66 | 6f 09 09 54 53 45 43 6f |..DbgInf|o..TSECo|
|000028a0| 6e 74 72 6f 6c 09 09 09 | 09 09 09 3b 74 68 69 73 |ntrol...|...;this|
|000028b0| 20 6e 61 6d 65 20 77 69 | 6c 6c 20 61 70 70 65 61 | name wi|ll appea|
|000028c0| 72 20 69 6e 20 74 68 65 | 20 64 65 62 75 67 67 65 |r in the| debugge|
|000028d0| 72 0d 09 09 09 09 45 4e | 44 50 0d 0d 0d 0d 0d 2a |r.....EN|DP.....*|
|000028e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002900| 2a 2a 20 54 53 45 53 74 | 61 74 75 73 20 2a 2a 2a |** TSESt|atus ***|
|00002910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002920| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002930| 2a 2a 2a 2a 2a 0d 2a 20 | 54 68 69 73 20 72 6f 75 |*****.* |This rou|
|00002940| 74 69 6e 65 20 28 61 6e | 64 20 61 6c 6c 20 6c 69 |tine (an|d all li|
|00002950| 6b 65 20 69 74 20 62 65 | 6c 6f 77 29 20 70 65 72 |ke it be|low) per|
|00002960| 66 6f 72 6d 73 20 74 68 | 72 65 65 20 62 61 73 69 |forms th|ree basi|
|00002970| 63 20 66 75 6e 63 74 69 | 6f 6e 73 3a 20 09 09 09 |c functi|ons: ...|
|00002980| 09 09 2a 0d 2a 20 31 29 | 20 70 75 73 68 69 6e 67 |..*.* 1)| pushing|
|00002990| 20 74 68 65 20 70 61 72 | 61 6d 65 74 65 72 20 62 | the par|ameter b|
|000029a0| 6c 6f 63 6b 20 28 41 30 | 29 2c 20 61 6e 64 20 74 |lock (A0|), and t|
|000029b0| 68 65 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 74 68 |he point|er to th|
|000029c0| 65 20 44 43 45 20 28 41 | 31 29 20 6f 6e 20 74 68 |e DCE (A|1) on th|
|000029d0| 65 20 73 74 61 63 6b 2e | 2a 0d 2a 20 32 29 20 54 |e stack.|*.* 2) T|
|000029e0| 65 73 74 69 6e 67 20 74 | 6f 20 73 65 65 20 77 68 |esting t|o see wh|
|000029f0| 65 74 68 65 72 20 74 68 | 65 20 69 6d 6d 65 64 69 |ether th|e immedi|
|00002a00| 61 74 65 20 62 69 74 20 | 77 61 73 20 73 65 74 20 |ate bit |was set |
|00002a10| 69 6e 20 74 68 65 20 74 | 72 61 70 20 77 6f 72 64 |in the t|rap word|
|00002a20| 20 61 6e 64 20 52 54 53 | 69 6e 67 09 2a 0d 2a 20 | and RTS|ing.*.* |
|00002a30| 33 29 20 54 65 73 74 69 | 6e 67 20 74 68 65 20 72 |3) Testi|ng the r|
|00002a40| 65 73 75 6c 74 20 69 6e | 20 44 30 2e 20 20 49 66 |esult in| D0. If|
|00002a50| 20 69 74 27 73 20 31 20 | 74 68 65 20 6f 70 65 72 | it's 1 |the oper|
|00002a60| 61 74 69 6f 6e 20 68 61 | 73 6e 27 74 20 63 6f 6d |ation ha|sn't com|
|00002a70| 70 6c 65 74 65 64 20 79 | 65 74 2c 20 73 6f 20 77 |pleted y|et, so w|
|00002a80| 65 09 2a 0d 2a 20 20 20 | 20 6a 75 73 74 20 77 61 |e.*.* | just wa|
|00002a90| 6e 74 20 74 6f 20 52 54 | 53 2e 20 20 49 66 20 69 |nt to RT|S. If i|
|00002aa0| 74 27 73 20 4e 4f 54 20 | 31 2c 20 74 68 65 6e 20 |t's NOT |1, then |
|00002ab0| 77 65 27 6c 6c 20 6a 75 | 6d 70 20 74 68 72 6f 75 |we'll ju|mp throu|
|00002ac0| 67 68 20 6a 49 4f 44 6f | 6e 65 2e 09 09 09 09 09 |gh jIODo|ne......|
|00002ad0| 2a 0d 2a 20 49 20 70 75 | 74 20 74 68 65 20 73 74 |*.* I pu|t the st|
|00002ae0| 61 6e 64 61 72 64 20 70 | 72 6f 63 65 64 75 72 65 |andard p|rocedure|
|00002af0| 20 68 65 61 64 65 72 20 | 69 6e 20 6a 75 73 74 20 | header |in just |
|00002b00| 73 6f 20 79 6f 75 27 64 | 20 73 65 65 20 61 6e 6f |so you'd| see ano|
|00002b10| 74 68 65 72 20 65 78 61 | 6d 70 6c 65 20 6f 66 20 |ther exa|mple of |
|00002b20| 69 74 20 69 6e 09 2a 0d | 2a 20 75 73 65 2e 20 20 |it in.*.|* use. |
|00002b30| 49 20 66 6f 75 6e 64 20 | 53 61 6d 70 6c 65 2e 61 |I found |Sample.a|
|00002b40| 20 74 6f 20 62 65 20 6d | 6f 73 74 20 68 65 6c 70 | to be m|ost help|
|00002b50| 66 75 6c 20 69 6e 20 6d | 75 63 68 20 6f 66 20 77 |ful in m|uch of w|
|00002b60| 68 61 74 20 49 20 64 69 | 64 20 68 65 72 65 2e 09 |hat I di|d here..|
|00002b70| 09 09 09 09 2a 0d 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |....*.**|********|
|00002b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ba0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002bb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002bc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 54 53 45 53 |********|***.TSES|
|00002bd0| 74 61 74 75 73 09 09 50 | 52 4f 43 09 09 09 45 58 |tatus..P|ROC...EX|
|00002be0| 50 4f 52 54 09 09 09 09 | 09 09 09 3b 20 61 6e 79 |PORT....|...; any|
|00002bf0| 20 73 6f 75 72 63 65 20 | 66 69 6c 65 20 63 61 6e | source |file can|
|00002c00| 20 75 73 65 20 74 68 69 | 73 20 72 6f 75 74 69 6e | use thi|s routin|
|00002c10| 65 0d 0d 53 74 61 63 6b | 46 72 61 6d 65 09 52 45 |e..Stack|Frame.RE|
|00002c20| 43 4f 52 44 09 09 7b 41 | 36 4c 69 6e 6b 7d 2c 44 |CORD..{A|6Link},D|
|00002c30| 45 43 52 09 09 09 09 09 | 3b 20 62 75 69 6c 64 20 |ECR.....|; build |
|00002c40| 61 20 73 74 61 63 6b 20 | 66 72 61 6d 65 20 72 65 |a stack |frame re|
|00002c50| 63 6f 72 64 0d 52 65 73 | 75 6c 74 31 09 09 44 53 |cord.Res|ult1..DS|
|00002c60| 2e 57 09 09 09 31 09 09 | 09 09 09 09 09 09 09 3b |.W...1..|.......;|
|00002c70| 20 66 75 6e 63 74 69 6f | 6e 27 73 20 72 65 73 75 | functio|n's resu|
|00002c80| 6c 74 20 72 65 74 75 72 | 6e 65 64 20 74 6f 20 63 |lt retur|ned to c|
|00002c90| 61 6c 6c 65 72 0d 50 61 | 72 61 6d 42 65 67 69 6e |aller.Pa|ramBegin|
|00002ca0| 09 45 51 55 09 09 09 2a | 09 09 09 09 09 09 09 09 |.EQU...*|........|
|00002cb0| 09 3b 20 73 74 61 72 74 | 20 70 61 72 61 6d 65 74 |.; start| paramet|
|00002cc0| 65 72 73 20 61 66 74 65 | 72 20 74 68 69 73 20 70 |ers afte|r this p|
|00002cd0| 6f 69 6e 74 0d 50 61 72 | 61 6d 53 69 7a 65 09 45 |oint.Par|amSize.E|
|00002ce0| 51 55 09 09 09 50 61 72 | 61 6d 42 65 67 69 6e 2d |QU...Par|amBegin-|
|00002cf0| 2a 09 09 09 09 09 3b 20 | 73 69 7a 65 20 6f 66 20 |*.....; |size of |
|00002d00| 61 6c 6c 20 74 68 65 20 | 70 61 73 73 65 64 20 70 |all the |passed p|
|00002d10| 61 72 61 6d 65 74 65 72 | 73 0d 52 65 74 41 64 64 |arameter|s.RetAdd|
|00002d20| 72 20 09 09 44 53 2e 4c | 09 09 09 31 09 09 09 09 |r ..DS.L|...1....|
|00002d30| 09 09 09 09 09 3b 20 70 | 6c 61 63 65 20 68 6f 6c |.....; p|lace hol|
|00002d40| 64 65 72 20 66 6f 72 20 | 72 65 74 75 72 6e 20 61 |der for |return a|
|00002d50| 64 64 72 65 73 73 0d 41 | 36 4c 69 6e 6b 09 09 44 |ddress.A|6Link..D|
|00002d60| 53 2e 4c 09 09 09 31 09 | 09 09 09 09 09 09 09 09 |S.L...1.|........|
|00002d70| 3b 20 70 6c 61 63 65 20 | 68 6f 6c 64 65 72 20 66 |; place |holder f|
|00002d80| 6f 72 20 41 36 20 6c 69 | 6e 6b 0d 4c 6f 63 61 6c |or A6 li|nk.Local|
|00002d90| 53 69 7a 65 09 45 51 55 | 20 09 09 09 2a 09 09 09 |Size.EQU| ...*...|
|00002da0| 09 09 09 09 09 09 3b 20 | 73 69 7a 65 20 6f 66 20 |......; |size of |
|00002db0| 61 6c 6c 20 74 68 65 20 | 6c 6f 63 61 6c 20 76 61 |all the |local va|
|00002dc0| 72 69 61 62 6c 65 73 0d | 09 09 09 09 45 4e 44 52 |riables.|....ENDR|
|00002dd0| 0d 0d 09 09 09 09 57 49 | 54 48 09 09 09 53 74 61 |......WI|TH...Sta|
|00002de0| 63 6b 46 72 61 6d 65 09 | 09 09 09 09 09 3b 20 63 |ckFrame.|.....; c|
|00002df0| 6f 76 65 72 20 6f 75 72 | 20 6c 6f 63 61 6c 20 73 |over our| local s|
|00002e00| 74 61 63 6b 20 66 72 61 | 6d 65 0d 09 09 09 09 4c |tack fra|me.....L|
|00002e10| 49 4e 4b 09 09 09 41 36 | 2c 23 4c 6f 63 61 6c 53 |INK...A6|,#LocalS|
|00002e20| 69 7a 65 09 09 09 09 09 | 3b 20 61 6c 6c 6f 63 61 |ize.....|; alloca|
|00002e30| 74 65 20 6f 75 72 20 6c | 6f 63 61 6c 20 73 74 61 |te our l|ocal sta|
|00002e40| 63 6b 20 66 72 61 6d 65 | 0d 09 09 09 09 0d 09 09 |ck frame|........|
|00002e50| 09 09 0d 09 09 20 09 09 | 4d 4f 56 45 4d 2e 4c 20 |..... ..|MOVEM.L |
|00002e60| 09 09 44 31 2d 44 33 2f | 41 30 2d 41 34 2c 2d 28 |..D1-D3/|A0-A4,-(|
|00002e70| 41 37 29 20 20 20 09 09 | 09 3b 53 61 76 65 20 72 |A7) ..|.;Save r|
|00002e80| 65 67 69 73 74 65 72 73 | 20 28 56 31 2e 31 41 29 |egisters| (V1.1A)|
|00002e90| 0d 09 09 09 09 4d 4f 56 | 45 2e 4c 09 09 41 31 2c |.....MOV|E.L..A1,|
|00002ea0| 2d 28 41 37 29 09 09 09 | 09 09 09 09 3b 50 75 74 |-(A7)...|....;Put|
|00002eb0| 20 61 64 64 72 65 73 73 | 20 6f 66 20 44 43 45 20 | address| of DCE |
|00002ec0| 6f 6e 74 6f 20 73 74 61 | 63 6b 0d 09 09 09 09 4d |onto sta|ck.....M|
|00002ed0| 4f 56 45 2e 4c 09 09 41 | 30 2c 2d 28 41 37 29 09 |OVE.L..A|0,-(A7).|
|00002ee0| 09 09 09 09 09 09 3b 50 | 75 74 20 61 64 64 72 65 |......;P|ut addre|
|00002ef0| 73 73 20 6f 66 20 50 61 | 72 61 6d 42 6c 6f 63 6b |ss of Pa|ramBlock|
|00002f00| 20 6f 6e 74 6f 20 73 74 | 61 63 6b 0d 09 09 09 09 | onto st|ack.....|
|00002f10| 4a 53 52 20 09 09 09 54 | 53 44 52 56 52 53 74 61 |JSR ...T|SDRVRSta|
|00002f20| 74 75 73 09 09 09 09 09 | 3b 43 61 6c 6c 20 6f 75 |tus.....|;Call ou|
|00002f30| 72 20 72 6f 75 74 69 6e | 65 2e 0d 09 09 09 09 41 |r routin|e......A|
|00002f40| 44 44 51 2e 57 09 09 23 | 24 38 2c 41 37 09 09 09 |DDQ.W..#|$8,A7...|
|00002f50| 09 09 09 09 3b 54 61 6b | 65 20 6f 66 66 20 41 30 |....;Tak|e off A0|
|00002f60| 20 61 6e 64 20 41 31 20 | 77 65 20 70 75 73 68 65 | and A1 |we pushe|
|00002f70| 64 2e 0d 09 09 09 09 41 | 44 44 41 2e 4c 09 09 23 |d......A|DDA.L..#|
|00002f80| 50 61 72 61 6d 53 69 7a | 65 2c 53 50 09 09 09 09 |ParamSiz|e,SP....|
|00002f90| 09 3b 73 74 72 69 70 20 | 61 6c 6c 20 6f 66 20 74 |.;strip |all of t|
|00002fa0| 68 65 20 63 61 6c 6c 65 | 72 27 73 20 70 61 72 61 |he calle|r's para|
|00002fb0| 6d 65 74 65 72 73 0d 09 | 09 09 09 4d 4f 56 45 4d |meters..|...MOVEM|
|00002fc0| 2e 4c 20 09 09 28 41 37 | 29 2b 2c 44 31 2d 44 33 |.L ..(A7|)+,D1-D3|
|00002fd0| 2f 41 30 2d 41 34 20 20 | 20 20 09 09 3b 52 65 73 |/A0-A4 | ..;Res|
|00002fe0| 74 6f 72 65 20 72 65 67 | 69 73 74 65 72 73 20 28 |tore reg|isters (|
|00002ff0| 56 31 2e 31 41 29 0d 09 | 09 09 09 53 57 41 50 09 |V1.1A)..|...SWAP.|
|00003000| 09 09 44 30 09 09 09 09 | 09 09 09 09 09 3b 53 61 |..D0....|.....;Sa|
|00003010| 76 65 20 72 65 73 75 6c | 74 20 69 6e 20 4d 6f 73 |ve resul|t in Mos|
|00003020| 74 53 69 67 20 57 6f 72 | 64 0d 09 09 09 09 4d 4f |tSig Wor|d.....MO|
|00003030| 56 45 2e 57 09 09 69 6f | 54 72 61 70 28 41 30 29 |VE.W..io|Trap(A0)|
|00003040| 2c 44 30 09 09 09 09 09 | 3b 6d 6f 76 65 20 69 6f |,D0.....|;move io|
|00003050| 54 72 61 70 20 69 6e 74 | 6f 20 72 65 67 69 73 74 |Trap int|o regist|
|00003060| 65 72 20 73 6f 20 77 65 | 20 63 61 6e 20 74 65 73 |er so we| can tes|
|00003070| 74 0d 09 09 09 09 53 57 | 41 50 09 09 09 44 30 09 |t.....SW|AP...D0.|
|00003080| 09 09 09 09 09 09 09 09 | 3b 42 61 63 6b 20 61 67 |........|;Back ag|
|00003090| 61 69 6e 0d 09 09 09 09 | 42 54 53 54 09 09 09 23 |ain.....|BTST...#|
|000030a0| 28 6e 6f 51 75 65 75 65 | 42 69 74 2b 31 36 29 2c |(noQueue|Bit+16),|
|000030b0| 20 44 30 09 09 09 3b 54 | 65 73 74 20 74 68 65 20 | D0...;T|est the |
|000030c0| 62 69 74 2e 0d 09 09 09 | 09 42 4e 45 2e 53 09 09 |bit.....|.BNE.S..|
|000030d0| 09 53 74 61 74 75 73 52 | 54 53 09 09 09 09 09 09 |.StatusR|TS......|
|000030e0| 3b 49 66 20 5a 20 3d 20 | 30 2c 20 74 68 65 6e 20 |;If Z = |0, then |
|000030f0| 6e 6f 51 75 65 75 65 42 | 69 74 20 73 65 74 20 2d |noQueueB|it set -|
|00003100| 2d 20 62 72 61 6e 63 68 | 0d 0d 09 09 09 09 43 4d |- branch|......CM|
|00003110| 50 2e 57 09 09 09 23 24 | 31 2c 44 30 09 09 09 09 |P.W...#$|1,D0....|
|00003120| 09 09 09 3b 43 6f 6d 70 | 61 72 65 20 72 65 73 75 |...;Comp|are resu|
|00003130| 6c 74 20 77 69 74 68 20 | 31 0d 09 09 09 09 42 45 |lt with |1.....BE|
|00003140| 51 2e 53 09 09 09 53 74 | 61 74 75 73 52 54 53 09 |Q.S...St|atusRTS.|
|00003150| 09 09 09 09 09 3b 4e 6f | 74 20 65 71 75 61 6c 20 |.....;No|t equal |
|00003160| 74 6f 20 7a 65 72 6f 20 | 73 6f 20 52 54 53 2e 0d |to zero |so RTS..|
|00003170| 09 09 09 09 55 4e 4c 4b | 09 09 09 41 36 09 09 09 |....UNLK|...A6...|
|00003180| 09 09 09 09 09 09 3b 64 | 65 73 74 72 6f 79 20 74 |......;d|estroy t|
|00003190| 68 65 20 6c 69 6e 6b 0d | 09 09 09 09 4d 4f 56 45 |he link.|....MOVE|
|000031a0| 2e 4c 09 09 6a 49 4f 44 | 6f 6e 65 2c 2d 28 41 37 |.L..jIOD|one,-(A7|
|000031b0| 29 09 09 09 09 09 3b 50 | 75 74 20 6a 49 4f 44 6f |).....;P|ut jIODo|
|000031c0| 6e 65 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 0d |ne on th|e stack.|
|000031d0| 09 09 09 09 52 54 53 09 | 09 09 09 09 09 09 09 09 |....RTS.|........|
|000031e0| 09 09 09 3b 72 65 74 75 | 72 6e 20 74 6f 20 74 68 |...;retu|rn to th|
|000031f0| 65 20 63 61 6c 6c 65 72 | 0d 09 09 09 09 0d 53 74 |e caller|......St|
|00003200| 61 74 75 73 52 54 53 09 | 55 4e 4c 4b 09 09 09 41 |atusRTS.|UNLK...A|
|00003210| 36 09 09 09 09 09 09 09 | 09 09 3b 64 65 73 74 72 |6.......|..;destr|
|00003220| 6f 79 20 74 68 65 20 6c | 69 6e 6b 0d 09 09 09 09 |oy the l|ink.....|
|00003230| 52 54 53 09 09 09 09 09 | 09 09 09 09 09 09 09 3b |RTS.....|.......;|
|00003240| 72 65 74 75 72 6e 20 74 | 6f 20 74 68 65 20 63 61 |return t|o the ca|
|00003250| 6c 6c 65 72 0d 09 09 09 | 09 44 62 67 49 6e 66 6f |ller....|.DbgInfo|
|00003260| 09 09 54 53 45 53 74 61 | 74 75 73 09 09 09 09 09 |..TSESta|tus.....|
|00003270| 09 3b 74 68 69 73 20 6e | 61 6d 65 20 77 69 6c 6c |.;this n|ame will|
|00003280| 20 61 70 70 65 61 72 20 | 69 6e 20 74 68 65 20 64 | appear |in the d|
|00003290| 65 62 75 67 67 65 72 0d | 09 09 09 09 45 4e 44 50 |ebugger.|....ENDP|
|000032a0| 0d 09 09 09 09 0d 0d 0d | 0d 2a 2a 2a 2a 2a 2a 2a |........|.*******|
|000032b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000032c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 20 54 53 45 |********|**** TSE|
|000032d0| 43 6c 6f 73 65 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |Close **|********|
|000032e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000032f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00003300| 2a 20 54 68 69 73 20 72 | 6f 75 74 69 6e 65 20 28 |* This r|outine (|
|00003310| 61 6e 64 20 61 6c 6c 20 | 6c 69 6b 65 20 69 74 20 |and all |like it |
|00003320| 62 65 6c 6f 77 29 20 70 | 65 72 66 6f 72 6d 73 20 |below) p|erforms |
|00003330| 74 68 72 65 65 20 62 61 | 73 69 63 20 66 75 6e 63 |three ba|sic func|
|00003340| 74 69 6f 6e 73 3a 20 09 | 09 09 09 09 2a 0d 2a 20 |tions: .|....*.* |
|00003350| 31 29 20 70 75 73 68 69 | 6e 67 20 74 68 65 20 70 |1) pushi|ng the p|
|00003360| 61 72 61 6d 65 74 65 72 | 20 62 6c 6f 63 6b 20 28 |arameter| block (|
|00003370| 41 30 29 2c 20 61 6e 64 | 20 74 68 65 20 70 6f 69 |A0), and| the poi|
|00003380| 6e 74 65 72 20 74 6f 20 | 74 68 65 20 44 43 45 20 |nter to |the DCE |
|00003390| 28 41 31 29 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |(A1) on |the stac|
|000033a0| 6b 2e 2a 0d 2a 20 32 29 | 20 54 65 73 74 69 6e 67 |k.*.* 2)| Testing|
|000033b0| 20 74 6f 20 73 65 65 20 | 77 68 65 74 68 65 72 20 | to see |whether |
|000033c0| 74 68 65 20 69 6d 6d 65 | 64 69 61 74 65 20 62 69 |the imme|diate bi|
|000033d0| 74 20 77 61 73 20 73 65 | 74 20 69 6e 20 74 68 65 |t was se|t in the|
|000033e0| 20 74 72 61 70 20 77 6f | 72 64 20 61 6e 64 20 52 | trap wo|rd and R|
|000033f0| 54 53 69 6e 67 09 2a 0d | 2a 20 33 29 20 54 65 73 |TSing.*.|* 3) Tes|
|00003400| 74 69 6e 67 20 74 68 65 | 20 72 65 73 75 6c 74 20 |ting the| result |
|00003410| 69 6e 20 44 30 2e 20 20 | 49 66 20 69 74 27 73 20 |in D0. |If it's |
|00003420| 31 20 74 68 65 20 6f 70 | 65 72 61 74 69 6f 6e 20 |1 the op|eration |
|00003430| 68 61 73 6e 27 74 20 63 | 6f 6d 70 6c 65 74 65 64 |hasn't c|ompleted|
|00003440| 20 79 65 74 2c 20 73 6f | 20 77 65 09 2a 0d 2a 20 | yet, so| we.*.* |
|00003450| 20 20 20 6a 75 73 74 20 | 77 61 6e 74 20 74 6f 20 | just |want to |
|00003460| 52 54 53 2e 20 20 49 66 | 20 69 74 27 73 20 4e 4f |RTS. If| it's NO|
|00003470| 54 20 31 2c 20 74 68 65 | 6e 20 77 65 27 6c 6c 20 |T 1, the|n we'll |
|00003480| 6a 75 6d 70 20 74 68 72 | 6f 75 67 68 20 6a 49 4f |jump thr|ough jIO|
|00003490| 44 6f 6e 65 2e 09 09 09 | 09 09 2a 0d 2a 20 49 20 |Done....|..*.* I |
|000034a0| 70 75 74 20 74 68 65 20 | 73 74 61 6e 64 61 72 64 |put the |standard|
|000034b0| 20 70 72 6f 63 65 64 75 | 72 65 20 68 65 61 64 65 | procedu|re heade|
|000034c0| 72 20 69 6e 20 6a 75 73 | 74 20 73 6f 20 79 6f 75 |r in jus|t so you|
|000034d0| 27 64 20 73 65 65 20 61 | 6e 6f 74 68 65 72 20 65 |'d see a|nother e|
|000034e0| 78 61 6d 70 6c 65 20 6f | 66 20 69 74 20 69 6e 09 |xample o|f it in.|
|000034f0| 2a 0d 2a 20 75 73 65 2e | 20 20 49 20 66 6f 75 6e |*.* use.| I foun|
|00003500| 64 20 53 61 6d 70 6c 65 | 2e 61 20 74 6f 20 62 65 |d Sample|.a to be|
|00003510| 20 6d 6f 73 74 20 68 65 | 6c 70 66 75 6c 20 69 6e | most he|lpful in|
|00003520| 20 6d 75 63 68 20 6f 66 | 20 77 68 61 74 20 49 20 | much of| what I |
|00003530| 64 69 64 20 68 65 72 65 | 2e 09 09 09 09 09 2a 0d |did here|......*.|
|00003540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003590| 2a 2a 2a 2a 2a 0d 54 53 | 45 43 6c 6f 73 65 09 09 |*****.TS|EClose..|
|000035a0| 50 52 4f 43 09 09 09 45 | 58 50 4f 52 54 09 09 09 |PROC...E|XPORT...|
|000035b0| 09 09 09 09 3b 20 61 6e | 79 20 73 6f 75 72 63 65 |....; an|y source|
|000035c0| 20 66 69 6c 65 20 63 61 | 6e 20 75 73 65 20 74 68 | file ca|n use th|
|000035d0| 69 73 20 72 6f 75 74 69 | 6e 65 0d 0d 53 74 61 63 |is routi|ne..Stac|
|000035e0| 6b 46 72 61 6d 65 09 52 | 45 43 4f 52 44 09 09 7b |kFrame.R|ECORD..{|
|000035f0| 41 36 4c 69 6e 6b 7d 2c | 44 45 43 52 09 09 09 09 |A6Link},|DECR....|
|00003600| 09 3b 20 62 75 69 6c 64 | 20 61 20 73 74 61 63 6b |.; build| a stack|
|00003610| 20 66 72 61 6d 65 20 72 | 65 63 6f 72 64 0d 52 65 | frame r|ecord.Re|
|00003620| 73 75 6c 74 31 09 09 44 | 53 2e 57 09 09 09 31 09 |sult1..D|S.W...1.|
|00003630| 09 09 09 09 09 09 09 09 | 3b 20 66 75 6e 63 74 69 |........|; functi|
|00003640| 6f 6e 27 73 20 72 65 73 | 75 6c 74 20 72 65 74 75 |on's res|ult retu|
|00003650| 72 6e 65 64 20 74 6f 20 | 63 61 6c 6c 65 72 0d 50 |rned to |caller.P|
|00003660| 61 72 61 6d 42 65 67 69 | 6e 09 45 51 55 09 09 09 |aramBegi|n.EQU...|
|00003670| 2a 09 09 09 09 09 09 09 | 09 09 3b 20 73 74 61 72 |*.......|..; star|
|00003680| 74 20 70 61 72 61 6d 65 | 74 65 72 73 20 61 66 74 |t parame|ters aft|
|00003690| 65 72 20 74 68 69 73 20 | 70 6f 69 6e 74 0d 50 61 |er this |point.Pa|
|000036a0| 72 61 6d 53 69 7a 65 09 | 45 51 55 09 09 09 50 61 |ramSize.|EQU...Pa|
|000036b0| 72 61 6d 42 65 67 69 6e | 2d 2a 09 09 09 09 09 3b |ramBegin|-*.....;|
|000036c0| 20 73 69 7a 65 20 6f 66 | 20 61 6c 6c 20 74 68 65 | size of| all the|
|000036d0| 20 70 61 73 73 65 64 20 | 70 61 72 61 6d 65 74 65 | passed |paramete|
|000036e0| 72 73 0d 52 65 74 41 64 | 64 72 20 09 09 44 53 2e |rs.RetAd|dr ..DS.|
|000036f0| 4c 09 09 09 31 09 09 09 | 09 09 09 09 09 09 3b 20 |L...1...|......; |
|00003700| 70 6c 61 63 65 20 68 6f | 6c 64 65 72 20 66 6f 72 |place ho|lder for|
|00003710| 20 72 65 74 75 72 6e 20 | 61 64 64 72 65 73 73 0d | return |address.|
|00003720| 41 36 4c 69 6e 6b 09 09 | 44 53 2e 4c 09 09 09 31 |A6Link..|DS.L...1|
|00003730| 09 09 09 09 09 09 09 09 | 09 3b 20 70 6c 61 63 65 |........|.; place|
|00003740| 20 68 6f 6c 64 65 72 20 | 66 6f 72 20 41 36 20 6c | holder |for A6 l|
|00003750| 69 6e 6b 0d 4c 6f 63 61 | 6c 53 69 7a 65 09 45 51 |ink.Loca|lSize.EQ|
|00003760| 55 20 09 09 09 2a 09 09 | 09 09 09 09 09 09 09 3b |U ...*..|.......;|
|00003770| 20 73 69 7a 65 20 6f 66 | 20 61 6c 6c 20 74 68 65 | size of| all the|
|00003780| 20 6c 6f 63 61 6c 20 76 | 61 72 69 61 62 6c 65 73 | local v|ariables|
|00003790| 0d 09 09 09 09 45 4e 44 | 52 0d 0d 09 09 09 09 57 |.....END|R......W|
|000037a0| 49 54 48 09 09 09 53 74 | 61 63 6b 46 72 61 6d 65 |ITH...St|ackFrame|
|000037b0| 09 09 09 09 09 09 3b 20 | 63 6f 76 65 72 20 6f 75 |......; |cover ou|
|000037c0| 72 20 6c 6f 63 61 6c 20 | 73 74 61 63 6b 20 66 72 |r local |stack fr|
|000037d0| 61 6d 65 0d 09 09 09 09 | 4c 49 4e 4b 09 09 09 41 |ame.....|LINK...A|
|000037e0| 36 2c 23 4c 6f 63 61 6c | 53 69 7a 65 09 09 09 09 |6,#Local|Size....|
|000037f0| 09 3b 20 61 6c 6c 6f 63 | 61 74 65 20 6f 75 72 20 |.; alloc|ate our |
|00003800| 6c 6f 63 61 6c 20 73 74 | 61 63 6b 20 66 72 61 6d |local st|ack fram|
|00003810| 65 0d 09 09 09 09 0d 09 | 09 09 0d 09 09 09 09 5f |e.......|......._|
|00003820| 44 65 62 75 67 67 65 72 | 09 09 09 09 0d 09 09 20 |Debugger|....... |
|00003830| 09 09 4d 4f 56 45 4d 2e | 4c 20 09 09 44 31 2d 44 |..MOVEM.|L ..D1-D|
|00003840| 33 2f 41 30 2d 41 34 2c | 2d 28 41 37 29 20 20 20 |3/A0-A4,|-(A7) |
|00003850| 09 09 09 3b 53 61 76 65 | 20 72 65 67 69 73 74 65 |...;Save| registe|
|00003860| 72 73 20 28 56 31 2e 31 | 41 29 0d 09 09 09 09 4d |rs (V1.1|A).....M|
|00003870| 4f 56 45 2e 4c 09 09 41 | 31 2c 2d 28 41 37 29 09 |OVE.L..A|1,-(A7).|
|00003880| 09 09 09 09 09 09 3b 50 | 75 74 20 61 64 64 72 65 |......;P|ut addre|
|00003890| 73 73 20 6f 66 20 44 43 | 45 20 6f 6e 74 6f 20 73 |ss of DC|E onto s|
|000038a0| 74 61 63 6b 0d 09 09 09 | 09 4d 4f 56 45 2e 4c 09 |tack....|.MOVE.L.|
|000038b0| 09 41 30 2c 2d 28 41 37 | 29 09 09 09 09 09 09 09 |.A0,-(A7|).......|
|000038c0| 3b 50 75 74 20 61 64 64 | 72 65 73 73 20 6f 66 20 |;Put add|ress of |
|000038d0| 50 61 72 61 6d 42 6c 6f | 63 6b 20 6f 6e 74 6f 20 |ParamBlo|ck onto |
|000038e0| 73 74 61 63 6b 0d 09 09 | 09 09 4a 53 52 20 09 09 |stack...|..JSR ..|
|000038f0| 09 54 53 44 52 56 52 43 | 6c 6f 73 65 09 09 09 09 |.TSDRVRC|lose....|
|00003900| 09 09 3b 43 61 6c 6c 20 | 6f 75 72 20 72 6f 75 74 |..;Call |our rout|
|00003910| 69 6e 65 2e 0d 09 09 09 | 09 41 44 44 51 2e 57 09 |ine.....|.ADDQ.W.|
|00003920| 09 23 24 38 2c 41 37 09 | 09 09 09 09 09 09 3b 54 |.#$8,A7.|......;T|
|00003930| 61 6b 65 20 6f 66 66 20 | 41 30 20 61 6e 64 20 41 |ake off |A0 and A|
|00003940| 31 20 77 65 20 70 75 73 | 68 65 64 2e 0d 09 09 09 |1 we pus|hed.....|
|00003950| 09 41 44 44 41 2e 4c 09 | 09 23 50 61 72 61 6d 53 |.ADDA.L.|.#ParamS|
|00003960| 69 7a 65 2c 53 50 09 09 | 09 09 09 3b 73 74 72 69 |ize,SP..|...;stri|
|00003970| 70 20 61 6c 6c 20 6f 66 | 20 74 68 65 20 63 61 6c |p all of| the cal|
|00003980| 6c 65 72 27 73 20 70 61 | 72 61 6d 65 74 65 72 73 |ler's pa|rameters|
|00003990| 0d 09 09 09 09 4d 4f 56 | 45 4d 2e 4c 20 09 09 28 |.....MOV|EM.L ..(|
|000039a0| 41 37 29 2b 2c 44 31 2d | 44 33 2f 41 30 2d 41 34 |A7)+,D1-|D3/A0-A4|
|000039b0| 20 20 20 20 09 09 3b 52 | 65 73 74 6f 72 65 20 72 | ..;R|estore r|
|000039c0| 65 67 69 73 74 65 72 73 | 20 28 56 31 2e 31 41 29 |egisters| (V1.1A)|
|000039d0| 0d 09 09 09 09 53 57 41 | 50 09 09 09 44 30 09 09 |.....SWA|P...D0..|
|000039e0| 09 09 09 09 09 09 09 3b | 53 61 76 65 20 72 65 73 |.......;|Save res|
|000039f0| 75 6c 74 20 69 6e 20 4d | 6f 73 74 53 69 67 20 57 |ult in M|ostSig W|
|00003a00| 6f 72 64 0d 09 09 09 09 | 4d 4f 56 45 2e 57 09 09 |ord.....|MOVE.W..|
|00003a10| 69 6f 54 72 61 70 28 41 | 30 29 2c 44 30 09 09 09 |ioTrap(A|0),D0...|
|00003a20| 09 09 3b 6d 6f 76 65 20 | 69 6f 54 72 61 70 20 69 |..;move |ioTrap i|
|00003a30| 6e 74 6f 20 72 65 67 69 | 73 74 65 72 20 73 6f 20 |nto regi|ster so |
|00003a40| 77 65 20 63 61 6e 20 74 | 65 73 74 0d 09 09 09 09 |we can t|est.....|
|00003a50| 53 57 41 50 09 09 09 44 | 30 09 09 09 09 09 09 09 |SWAP...D|0.......|
|00003a60| 09 09 3b 42 61 63 6b 20 | 61 67 61 69 6e 0d 09 09 |..;Back |again...|
|00003a70| 09 09 42 54 53 54 09 09 | 09 23 28 6e 6f 51 75 65 |..BTST..|.#(noQue|
|00003a80| 75 65 42 69 74 2b 31 36 | 29 2c 20 44 30 09 09 09 |ueBit+16|), D0...|
|00003a90| 3b 54 65 73 74 20 74 68 | 65 20 62 69 74 2e 0d 09 |;Test th|e bit...|
|00003aa0| 09 09 09 42 4e 45 2e 53 | 09 09 09 43 6c 6f 73 65 |...BNE.S|...Close|
|00003ab0| 52 54 53 09 09 09 09 09 | 09 09 3b 49 66 20 5a 20 |RTS.....|..;If Z |
|00003ac0| 3d 20 30 2c 20 74 68 65 | 6e 20 6e 6f 51 75 65 75 |= 0, the|n noQueu|
|00003ad0| 65 42 69 74 20 73 65 74 | 20 2d 2d 20 62 72 61 6e |eBit set| -- bran|
|00003ae0| 63 68 0d 0d 09 09 09 09 | 43 4d 50 2e 57 09 09 09 |ch......|CMP.W...|
|00003af0| 23 24 31 2c 44 30 09 09 | 09 09 09 09 09 3b 43 6f |#$1,D0..|.....;Co|
|00003b00| 6d 70 61 72 65 20 72 65 | 73 75 6c 74 20 77 69 74 |mpare re|sult wit|
|00003b10| 68 20 31 0d 09 09 09 09 | 42 45 51 2e 53 09 09 09 |h 1.....|BEQ.S...|
|00003b20| 43 6c 6f 73 65 52 54 53 | 09 09 09 09 09 09 09 3b |CloseRTS|.......;|
|00003b30| 4e 6f 74 20 65 71 75 61 | 6c 20 74 6f 20 7a 65 72 |Not equa|l to zer|
|00003b40| 6f 20 73 6f 20 52 54 53 | 2e 0d 09 09 09 09 55 4e |o so RTS|......UN|
|00003b50| 4c 4b 09 09 09 41 36 09 | 09 09 09 09 09 09 09 09 |LK...A6.|........|
|00003b60| 3b 64 65 73 74 72 6f 79 | 20 74 68 65 20 6c 69 6e |;destroy| the lin|
|00003b70| 6b 0d 09 09 09 09 4d 4f | 56 45 2e 4c 09 09 6a 49 |k.....MO|VE.L..jI|
|00003b80| 4f 44 6f 6e 65 2c 2d 28 | 41 37 29 09 09 09 09 09 |ODone,-(|A7).....|
|00003b90| 3b 50 75 74 20 6a 49 4f | 44 6f 6e 65 20 6f 6e 20 |;Put jIO|Done on |
|00003ba0| 74 68 65 20 73 74 61 63 | 6b 0d 09 09 09 09 52 54 |the stac|k.....RT|
|00003bb0| 53 09 09 09 09 09 09 09 | 09 09 09 09 09 3b 72 65 |S.......|.....;re|
|00003bc0| 74 75 72 6e 20 74 6f 20 | 74 68 65 20 63 61 6c 6c |turn to |the call|
|00003bd0| 65 72 0d 09 09 09 09 0d | 43 6c 6f 73 65 52 54 53 |er......|CloseRTS|
|00003be0| 09 09 55 4e 4c 4b 09 09 | 09 41 36 09 09 09 09 09 |..UNLK..|.A6.....|
|00003bf0| 09 09 09 09 3b 64 65 73 | 74 72 6f 79 20 74 68 65 |....;des|troy the|
|00003c00| 20 6c 69 6e 6b 0d 09 09 | 09 09 52 54 53 09 09 09 | link...|..RTS...|
|00003c10| 09 09 09 09 09 09 09 09 | 09 3b 72 65 74 75 72 6e |........|.;return|
|00003c20| 20 74 6f 20 74 68 65 20 | 63 61 6c 6c 65 72 0d 09 | to the |caller..|
|00003c30| 09 09 09 44 62 67 49 6e | 66 6f 09 09 54 53 45 43 |...DbgIn|fo..TSEC|
|00003c40| 6c 6f 73 65 09 09 09 09 | 09 09 09 3b 74 68 69 73 |lose....|...;this|
|00003c50| 20 6e 61 6d 65 20 77 69 | 6c 6c 20 61 70 70 65 61 | name wi|ll appea|
|00003c60| 72 20 69 6e 20 74 68 65 | 20 64 65 62 75 67 67 65 |r in the| debugge|
|00003c70| 72 0d 09 09 09 09 45 4e | 44 50 0d 09 09 09 09 0d |r.....EN|DP......|
|00003c80| 09 09 09 09 45 4e 44 00 | 00 00 00 00 00 00 00 00 |....END.|........|
|00003c90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d00| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00003d10| 00 00 00 55 15 41 50 50 | 43 41 64 6d 69 6e 20 50 |...U.APP|CAdmin P|
|00003d20| 72 65 66 65 72 65 6e 63 | 65 73 02 00 00 00 41 44 |referenc|es....AD|
|00003d30| 0c 44 72 69 76 65 72 47 | 6c 75 65 2e 61 81 02 00 |.DriverG|lue.a...|
|00003d40| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 00 00 00 |..TEXTMP|S ......|
|00003d50| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 00 00 00 |..TEXTMP|S ......|
|00003d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d70| 00 00 a2 27 01 3e 00 00 | 3c 07 00 00 01 7e 00 00 |...'.>..|<....~..|
|00003d80| 07 8b 00 01 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d90| 1c 00 00 00 00 55 16 41 | 50 50 43 43 6f 6e 66 69 |.....U.A|PPCConfi|
|00003da0| 67 20 50 72 65 66 65 72 | 65 6e 63 65 73 72 02 00 |g Prefer|encesr..|
|00003db0| 00 00 43 46 50 46 43 46 | 47 31 01 06 02 00 01 00 |..CFPFCF|G1......|
|00003dc0| 00 00 00 00 00 5e 00 00 | 00 00 00 00 00 00 00 00 |.....^..|........|
|00003dd0| 00 00 00 00 06 6a 00 00 | 08 00 a0 a3 2f 2d a0 a7 |.....j..|..../-..|
|00003de0| 2f fd 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |/.......|........|
|00003df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003e00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 65 2e |...H..Mo|naco..e.|
|00003e10| 0d 09 09 09 49 4d 50 4f | 52 54 20 09 09 44 52 56 |....IMPO|RT ..DRV|
|00003e20| 52 50 72 69 6d 65 00 06 | 00 03 00 2a 00 03 01 dd |RPrime..|...*....|
|00003e30| 02 7d 00 3c 00 24 01 56 | 02 04 a2 fe d4 f3 00 00 |.}.<.$.V|........|
|00003e40| 09 08 00 00 09 08 00 00 | 0e f9 01 00 00 00 01 00 |........|........|
|00003e50| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 2b d4 84 |...L...L|...2.+..|
|00003e60| 0c 20 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |. .....2|..MPSR..|
|00003e70| 00 0a 03 ed ff ff 00 00 | 00 00 00 2d 7c 0c 00 00 |........|...-|...|
+--------+-------------------------+-------------------------+--------+--------+